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.
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. :-)
Hey William, the patch is the same, just committed openrc-0.6.0 to sabayon overlay.
what do you think about applying this?
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:
So no, it doesn't contain "provide net".
Well, that is the real error :)
Make it look like so
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.