summaryrefslogtreecommitdiffstats
path: root/sys/ufs/ffs/ffs_vfsops.c
diff options
context:
space:
mode:
Diffstat (limited to 'sys/ufs/ffs/ffs_vfsops.c')
-rw-r--r--sys/ufs/ffs/ffs_vfsops.c34
1 files changed, 33 insertions, 1 deletions
diff --git a/sys/ufs/ffs/ffs_vfsops.c b/sys/ufs/ffs/ffs_vfsops.c
index da4a362..e84b252 100644
--- a/sys/ufs/ffs/ffs_vfsops.c
+++ b/sys/ufs/ffs/ffs_vfsops.c
@@ -116,7 +116,9 @@ static struct buf_ops ffs_ops = {
.bop_sync = bufsync,
};
-static const char *ffs_opts[] = { "from", "export", NULL };
+static const char *ffs_opts[] = { "acls", "async", "errmsg", "export",
+ "force", "from", "multilabel", "noasync", "noatime",
+ "noclusterr", "noclusterw", "snapshot", "update", NULL };
static int
ffs_mount(struct mount *mp, struct thread *td)
@@ -148,6 +150,36 @@ ffs_mount(struct mount *mp, struct thread *td)
if (error)
return (error);
+ if (vfs_getopt(mp->mnt_optnew, "acls", NULL, NULL) == 0)
+ mp->mnt_flag |= MNT_ACLS;
+
+ if (vfs_getopt(mp->mnt_optnew, "async", NULL, NULL) == 0)
+ mp->mnt_flag |= MNT_ASYNC;
+
+ if (vfs_getopt(mp->mnt_optnew, "force", NULL, NULL) == 0)
+ mp->mnt_flag |= MNT_FORCE;
+
+ if (vfs_getopt(mp->mnt_optnew, "multilabel", NULL, NULL) == 0)
+ mp->mnt_flag |= MNT_MULTILABEL;
+
+ if (vfs_getopt(mp->mnt_optnew, "noasync", NULL, NULL) == 0)
+ mp->mnt_flag &= ~MNT_ASYNC;
+
+ if (vfs_getopt(mp->mnt_optnew, "noatime", NULL, NULL) == 0)
+ mp->mnt_flag |= MNT_NOATIME;
+
+ if (vfs_getopt(mp->mnt_optnew, "noclusterr", NULL, NULL) == 0)
+ mp->mnt_flag |= MNT_NOCLUSTERR;
+
+ if (vfs_getopt(mp->mnt_optnew, "noclusterw", NULL, NULL) == 0)
+ mp->mnt_flag |= MNT_NOCLUSTERW;
+
+ if (vfs_getopt(mp->mnt_optnew, "snapshot", NULL, NULL) == 0)
+ mp->mnt_flag |= MNT_SNAPSHOT;
+
+ if (vfs_getopt(mp->mnt_optnew, "update", NULL, NULL) == 0)
+ mp->mnt_flag |= MNT_UPDATE;
+
/*
* If updating, check whether changing from read-only to
* read/write; if there is no device name, that's all we do.
OpenPOWER on IntegriCloud