mountall tries to mount NFS filesystem before statd starts, generating a non-fatal warning
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
mountall (Ubuntu) |
Invalid
|
Undecided
|
Unassigned | ||
nfs-utils (Ubuntu) |
Won't Fix
|
Undecided
|
Unassigned |
Bug Description
Binary package hint: mountall
mountall sometimes tries to mount NFS filesystems before rpc.statd has started. When this happens, you get an error on the console like this:
mount.nfs: rpc.statd is not running but is required for remote locking.
mount.nfs: Either use '-o nolock' to keep locks local, or start statd.
mountall: mount /net [402] terminated with status 32
mountall: Filesystem could not be mounted: /net
It seems the problem is that the statd upstart job is started on "mounting TYPE=nfs", but mountall doesn't wait until statd is started before attempting the mount. This becomes a race condition. If statd may or may not be started by the time the mount is attempted. It's easy to expose the race condition by adding a "sleep 1" immediately before the "exec rpc.statd" in /etc/init/
Eventually the nfs filesystem does get mounted (looks like there is some retry behavior), but it does result in errors being printed about failed mount attempts.
version info:
Description: Ubuntu lucid (development branch)
Release: 10.04
mountall 2.8
nfs-common 1:1.2.0-4ubuntu4
affects: | mountall (Ubuntu) → nfs-utils (Ubuntu) |
summary: |
- mountall tries to mount NFS filesystem before statd starts + mountall tries to mount NFS filesystem before statd starts, generating a + non-fatal warning |
I see that this was changed from mountall to nfs-utils. I wonder what the reasoning behind that is. It seems to me that it's mountall that's jumping the gun here and trying to mount nfs filesystems before nfs is ready. I can't imagine how nfs-utils can be responsible for or control what mountall is doing.
Does the nfs-utils maintainer agree that this is an nfs-utils problem?