killall5 during halt, trouble with nbd-client

Warren Togami wtogami at redhat.com
Thu Jan 22 07:35:07 UTC 2009


https://fedorahosted.org/k12linux/wiki/NBDRootConfiguration
The fastest way to boot a diskless client is with NBD root filesystem
instead of NFS.  It works great.

/dev/nbd0 squashfs mounted at /
/dev/nbd1 dm_crypt swap as /dev/mapper/swap0

Unfortunately there is a problem during shutdown...

/etc/init.d/halt contains:
action $"Sending all processes the TERM signal..." /sbin/killall5 -15
sleep 2
action $"Sending all processes the KILL signal..."  /sbin/killall5 -9

Thereafter it stops swap and unmounts filesystems.  Only it gets stuck
and fails to reboot or poweroff here, because the underlying block
devices have disappeared due to killall5.  The two nbd-client instances
that were running /dev/nbd0 and /dev/nbd1 block devices are now gone,
causing the system to get stuck.

Would iscsi root filesystem have the same problem during shutdown?

It seems NFS root shutdown doesn't have this issue because there is no
userspace process to kill that would kill the filesystem mount.

Any ideas how we can cleanly handle shutdown in cases like NBD where a
userspace process is providing the block device, but gets killed
prematurely?

Warren Togami
wtogami at redhat.com




More information about the fedora-devel-list mailing list