[Pkg-sysvinit-devel] Bug#476698: Bug#476698: killall5 should not kill fuse filesystems

Petter Reinholdtsen pere at hungry.com
Wed May 21 21:40:53 UTC 2008


[Goswin von Brederlow]
> For one thing because there is no such thing as an "omitpid feature"
> in killall5. Only pidof has it.

Hm.

I just tested it, and it worked for me.  How are you testing it?  I
changed init.d/klogd stop location to be after sendsigs and made sure
klogd made a symlink to the pidfile from
/lib/init/rw/sendsigs.omit.d/klogd, and this got rid of the error
message from the klogd stop script which normally show up in this
setting when sendsigs already killed the klogd process.

> The other is that fuse filesystems can fork and thereby add new
> pids. Depending on the threading modell in use even threading will
> create pids. And you can't add the pids of children to the omitpid
> file without race conditions.

Well, if the fuse file systems do not want to accept the limits of the
omitpid feature, they can either accept to be killed, or we will have
to come up with a better way to do it.

> By the way, how do you expcet that to work with fuse filesystems
> that are not root? They can not create a omitpid file.

Well, I do not expect any non-privileged processes to be launced to
mount /usr/ or /var/, so I guess it isn't that much of a problem.
Privileged processes can update the pidfile before they drop their
privileges.  If other file systems need to be umounted before sendsigs
kill their process, I expect them to insert a stop script before
sendsigs to umount in a controlled fashon.

Happy hacking,
-- 
Petter Reinholdtsen





More information about the Pkg-sysvinit-devel mailing list