Bug#717547: nfs-common: simple remount returns an error
> Package: nfs-common
> Version: 1:1.2.6-4
> Severity: normal
>
> Dear Maintainer,
>
> I met a strange behavour of mount.nfs.
> When I run "mount -o remount /nfs/mntpnt", it terminated silently but
> the exit status was 32. Actually when I add "-v" option, it prints
> "mount.nfs: mount(2): Invalid argument".
I think I could see the scenario.
- on wheezy, /etc/mtab becomes a symlink to /proc/mounts.
- mount.nfs writes the given mount options to /etc/mtab, (but not to
/proc/mounts.)
- I found the problematic option is "sec=sys".
- when /etc/mtab is a regular file, "sec=sys" is not written since it
was not specified explicitly at the mount-time.
- but /proc/mounts always shows "sec=".
- when /etc/mtab is a symlink, mount(8) retrives the option strings from
/proc/mounts including "sec=sys" and passes it to mount.nfs.
- NFS in kernel-space parses the given options, compares them with the
internally stored flags, and found that
+ "sec=sys" is given explicitly.
+ but the internal status doesn't have "sec=sys" flag set.
- finally this un-matching is the cause of "mount.nfs: mount(2): Invalid
argument."
In order to fix the problem, there may exist several ways. But I am not
sure which is best.
- stop /etc/mtab symlink-ing /proc/mounts (by Debian developers).
- at the mount-time of NFS, set "sec=sys" (NFS_MOUNT_SECFLAVOUR) by
default (by NFS developers).
- mount.nfs always writes the "sec=sys" string (by mount.nfs
developers).
I suppose the best way should be decided after the discussion between
NFS developers, mount.nfs developers and Debian developers.
J. R. Okajima
Reply to: