diff --git a/sys/ufs/ffs/ffs_vfsops.c b/sys/ufs/ffs/ffs_vfsops.c index 2963514508e..c099732398f 100644 --- a/sys/ufs/ffs/ffs_vfsops.c +++ b/sys/ufs/ffs/ffs_vfsops.c @@ -124,10 +124,16 @@ static struct buf_ops ffs_ops = { #endif }; +/* + * Note that userquota and groupquota options are not currently used + * by UFS/FFS code and generally mount(8) does not pass those options + * from userland, but they can be passed by loader(8) via + * vfs.root.mountfrom.options. + */ static const char *ffs_opts[] = { "acls", "async", "noatime", "noclusterr", - "noclusterw", "noexec", "export", "force", "from", "multilabel", - "nfsv4acls", "snapshot", "nosuid", "suiddir", "nosymfollow", "sync", - "union", NULL }; + "noclusterw", "noexec", "export", "force", "from", "groupquota", + "multilabel", "nfsv4acls", "snapshot", "nosuid", "suiddir", "nosymfollow", + "sync", "union", "userquota", NULL }; static int ffs_mount(struct mount *mp) @@ -157,6 +163,9 @@ ffs_mount(struct mount *mp) UMA_ALIGN_PTR, 0); } + vfs_deleteopt(mp->mnt_optnew, "groupquota"); + vfs_deleteopt(mp->mnt_optnew, "userquota"); + fspec = vfs_getopts(mp->mnt_optnew, "from", &error); if (error) return (error);