Review Request 125248: Display name of process which blocks umount / eject

Xuetian Weng wengxt at gmail.com
Wed Sep 16 00:37:47 UTC 2015



> On Sept. 15, 2015, 10:41 p.m., Martin Klapetek wrote:
> > dataengines/devicenotifications/ksolidnotify.cpp, line 122
> > <https://git.reviewboard.kde.org/r/125248/diff/2/?file=404220#file404220line122>
> >
> >     This should be a private method rather than a static method
> >     
> >     (and also const QString& devicePath --> const QString &devicePath)
> >     
> >     
> >     ...I'm thinking that maybe this method should become part of Solid::StorageAccess itself? Though I'm not the maintainer so I dunno but it seems it would be useful there

(Not a maintainer either :) ) I agree this should belong to solid, so we can have platform dependent solution for more easily. Similar feature is also implemented in gvfs.

Actually I'm a little bit surprise that gvfs also uses lsof command to do the same thing instead of parsing procfs. fuser may be an better alternative POSIX choice. (Make sure use the posix compat option if you want to use fuser http://www.unix.com/man-page/posix/1posix/fuser/ , if you run it manually stderr will make the output confusing, run fuser -c / 2>/dev/null to get the pid only output.)


- Xuetian


-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://git.reviewboard.kde.org/r/125248/#review85469
-----------------------------------------------------------


On Sept. 15, 2015, 9:41 p.m., Igor Poboiko wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://git.reviewboard.kde.org/r/125248/
> -----------------------------------------------------------
> 
> (Updated Sept. 15, 2015, 9:41 p.m.)
> 
> 
> Review request for Plasma and Solid.
> 
> 
> Repository: plasma-workspace
> 
> 
> Description
> -------
> 
> An attempt to implement feature from [bug 96107](https://bugs.kde.org/show_bug.cgi?id=96107) (see summary).
> 
> On umount/eject error it runs "lsof" executable, gets PIDs of blocking processes and obtains names of processes via KSysGuard::Process machinery. Finally it appends obtained information to error message which is shown in tooltip of Device Notifier applet.
> 
> 
> Diffs
> -----
> 
>   dataengines/devicenotifications/CMakeLists.txt 3f7fd83 
>   dataengines/devicenotifications/ksolidnotify.cpp 35d49d6 
> 
> Diff: https://git.reviewboard.kde.org/r/125248/diff/
> 
> 
> Testing
> -------
> 
> Tested unmount on busy device with several processes blocking it. Did not test eject, since I have no optical disc drive :(
> 
> 
> File Attachments
> ----------------
> 
> Applet with error message
>   https://git.reviewboard.kde.org/media/uploaded/files/2015/09/15/3b1b64fc-abff-4633-9dca-621388edf086__snapshot11.png
> 
> 
> Thanks,
> 
> Igor Poboiko
> 
>

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.kde.org/pipermail/plasma-devel/attachments/20150916/764cca17/attachment-0001.html>


More information about the Plasma-devel mailing list