From 62bdb328bbc2949226ffd6961ba6e3963eac5fad Mon Sep 17 00:00:00 2001 From: Craig Rodrigues Date: Wed, 5 Dec 2007 03:26:14 +0000 Subject: [PATCH] In nmount(), internally convert the mount option: "rdonly" to "ro". This makes updates mounts such as: "mount -u -o rdonly" work more like, "mount -u -o ro". References to "-o rdonly" were changed to "-o ro" in revision 1.60 of the mount(8) man page, but some people still like to use "-o rdonly" since it was documented in earlier versions of FreeBSD. Requested by: rwatson MFC after: 1 week --- sys/kern/vfs_mount.c | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/sys/kern/vfs_mount.c b/sys/kern/vfs_mount.c index 3628b3b9879..dfb46e29c8a 100644 --- a/sys/kern/vfs_mount.c +++ b/sys/kern/vfs_mount.c @@ -134,7 +134,6 @@ static const char *global_opts[] = { "errmsg", "fstype", "fspath", - "rdonly", "ro", "rw", "nosuid", @@ -684,9 +683,13 @@ vfs_donmount(struct thread *td, int fsflags, struct uio *fsoptions) fsflags &= ~MNT_RDONLY; has_rw = 1; } - else if (strcmp(opt->name, "ro") == 0 || - strcmp(opt->name, "rdonly") == 0) + else if (strcmp(opt->name, "ro") == 0) fsflags |= MNT_RDONLY; + else if (strcmp(opt->name, "rdonly") == 0) { + free(opt->name, M_MOUNT); + opt->name = strdup("ro", M_MOUNT); + fsflags |= MNT_RDONLY; + } else if (strcmp(opt->name, "snapshot") == 0) fsflags |= MNT_SNAPSHOT; else if (strcmp(opt->name, "suiddir") == 0)