Comment 1 for bug 606554

Revision history for this message
Andrew Edmunds (andrew-edmunds) wrote : Re: upstart allows gdm to start before all nfs shares have mounted

This is actually a (mis)feature of mountall, rather than upstart. Mountall waits only for NFS mounts of /usr and /var, or their subdirectories, to succeed before issuing the "filesystem" event. The filesystem event is what triggers gdm to start.

To wait for any other NFS filesystem you have to add the option "bootwait" to the /etc/fstab entry. See paragraph about mountall in fstab(5). So in this case adding "bootwait" to the options for /home should fix the issue.

The filesystem(7) man page says "The filesystem event is generated by the mountall(8) daemon after it has mounted all filesystems listed in fstab(5)" but this is a blatant lie. Personally I would prefer to see the behaviour altered to match what this man page says, but failing that the man page should be corrected. Either way there is definitely a bug here.

I think the motivation for the current behaviour was to cater for people who have wireless networking that doesn't come up until the user logs in and yet still have NFS mounts listed in fstab. I believe those people should be using the "noauto" or "nobootwait" options on their NFS mounts, or leaving them out of fstab altogether. Failing to do so is just a user error in my opinion and mountall shouldn't be pandering to people who misconfigure their system in this way.