summaryrefslogtreecommitdiffstats
path: root/sys/kern
diff options
context:
space:
mode:
authorrodrigc <rodrigc@FreeBSD.org>2005-12-03 01:26:27 +0000
committerrodrigc <rodrigc@FreeBSD.org>2005-12-03 01:26:27 +0000
commit16d338ecbb1216d0f3412fd7f78299bb033ab092 (patch)
treef68408d14315a47e1808055b05fe767df00b759f /sys/kern
parentec3e11dc526f447eb9ff75bbd7ed3f4f8b30231c (diff)
downloadFreeBSD-src-16d338ecbb1216d0f3412fd7f78299bb033ab092.zip
FreeBSD-src-16d338ecbb1216d0f3412fd7f78299bb033ab092.tar.gz
- Add "rw" mount option to global_opts.
- In vfs_donmount(), parse "ro", "noro", and "rw", in order to set or unset the MNT_RDONLY filesystem flag.
Diffstat (limited to 'sys/kern')
-rw-r--r--sys/kern/vfs_mount.c10
1 files changed, 10 insertions, 0 deletions
diff --git a/sys/kern/vfs_mount.c b/sys/kern/vfs_mount.c
index fa45ef9..f1124c7 100644
--- a/sys/kern/vfs_mount.c
+++ b/sys/kern/vfs_mount.c
@@ -130,6 +130,7 @@ static const char *global_opts[] = {
"fstype",
"fspath",
"ro",
+ "rw",
"suid",
"exec",
NULL
@@ -542,6 +543,15 @@ vfs_donmount(struct thread *td, int fsflags, struct uio *fsoptions)
if (vfs_getopt(optlist, "nosymfollow", NULL, NULL) == 0)
fsflags |= MNT_NOSYMFOLLOW;
+ if (vfs_getopt(optlist, "noro", NULL, NULL) == 0)
+ fsflags &= ~MNT_RDONLY;
+
+ if (vfs_getopt(optlist, "ro", NULL, NULL) == 0)
+ fsflags |= MNT_RDONLY;
+
+ if (vfs_getopt(optlist, "rw", NULL, NULL) == 0)
+ fsflags &= ~MNT_RDONLY;
+
if (vfs_getopt(optlist, "snapshot", NULL, NULL) == 0)
fsflags |= MNT_SNAPSHOT;
OpenPOWER on IntegriCloud