This happens in particular to Network Manager users. /etc/init.d/netmount is called too late and hangs at do_unmount while trying to umount network mounts. The attached patch makes use of "umount -l" (lazy option) if "umount -at" doesn't work. I don't know anything about do_unmount so I thought it would be better to not touch it at all. Reproducible: Always Steps to Reproduce: 0. Use NetworkManager ;) 1. add some NFS shares into /etc/fstab 2. /etc/init.d/netmount start 3. shutdown your system
Created attachment 215180 [details, diff] sys-apps/openrc-0.5.3-r1 /etc/init.d/netmount patch
Created attachment 215182 [details, diff] patch against source code (openrc-0.5.3)
Please write your patch against 0.6.0 and re-open and re-attach it to this bug. Thanks much. :-) William
Hey William, the patch is the same, just committed openrc-0.6.0 to sabayon overlay. http://gitweb.sabayon.org/?p=overlay.git;a=commit;h=953d9cf46a874024bbcd8c25fa545599c37fc0e3
Roy, what do you think about applying this? Thanks, William
Lazy umounting is Linux specific, so that needs to be taken into account. Also, I've never gotten it to actually work when the network is down for my NFS shares. Lastly, if NetworkManager stopping before netmount in the shutdown process then the dependencies for it are wrong. Does NetworkManager provide net?
-l perfectly works with NFS mounts, and yes (sorry), it's Linux specific. About the other question, from /etc/init.d/NetworkManager: depend() { need hald } So no, it doesn't contain "provide net".
Well, that is the real error :) Make it look like so depend() { need hald provide net }
Does "provide net" work in baselayout-1 too? If steev acks, I can append "provide net" to NM init.d. Anyway, the issue persists if, for some reason, network is not available and user is powering off.
With latest openrc & baselayout, I'm not having this issue anymore.