mount.nfs: don't parse "device" name for -o remount
Subsystems (2)
PATCH 1/1 mount.nfs: don't parse "device" name for -o remount
When "-o remount" is used, the device/special name is ignored. So don't parse it and risk generating a useless error.
This is particularly important when nfs-root is used as the "device name" is listed as "/dev/nfs". Because mount.nfs doesn't think that is valid,
mount -o remount,rw /
will fail.
Signed-off-by NeilBrown <[email protected]>
--- utils/mount/stropts.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-)
utils/mount/stropts.c +3 -1
@@ -384,7 +384,9 @@ static int nfs_set_version(struct nfsmount_info *mi)*/ static int nfs_validate_options (struct nfsmount_info *mi) { -if (!nfs_parse_devname (mi->spec, &mi->hostname,NULL )) +/* For remount, ignore mi->spec: the kernel will. */ +if (!(mi->flags &MS_REMOUNT ) && + !nfs_parse_devname (mi->spec, &mi->hostname,NULL ))return 0 ;if (!nfs_nfs_proto_family (mi->options, &mi->family))
Signature · 1 line
2.14.0.rc0.dirty
Quoted 5 lines · NeilBrown
When "-o remount" is used, the device/special name is ignored. So don't parse it and risk generating a useless error.
Quoted 8 lines
This is particularly important when nfs-root is used as the "device name" is listed as "
/dev/nfs". Because mount.nfs doesn't think that is valid,
mount -o remount,rw /
will fail.Signed-off-by NeilBrown <[email protected]>
Committed....
steved.
Quoted 20 lines
--- utils/mount/stropts.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-)utils/mount/stropts.c +3
-1@@ -384,7 +384,9 @@ static int nfs_set_version(struct nfsmount_info *mi)*/ static int nfs_validate_options (struct nfsmount_info *mi) { -if (!nfs_parse_devname (mi->spec, &mi->hostname,NULL )) +/* For remount, ignore mi->spec: the kernel will. */ +if (!(mi->flags &MS_REMOUNT ) && + !nfs_parse_devname (mi->spec, &mi->hostname,NULL ))return 0 ;if (!nfs_nfs_proto_family (mi->options, &mi->family))