summaryrefslogtreecommitdiffstats
path: root/module/zfs
diff options
context:
space:
mode:
Diffstat (limited to 'module/zfs')
-rw-r--r--module/zfs/zpl_super.c16
1 files changed, 14 insertions, 2 deletions
diff --git a/module/zfs/zpl_super.c b/module/zfs/zpl_super.c
index 80cc15725..87895d6ba 100644
--- a/module/zfs/zpl_super.c
+++ b/module/zfs/zpl_super.c
@@ -193,6 +193,8 @@ enum {
TOKEN_NOEXEC,
TOKEN_DEVICES,
TOKEN_NODEVICES,
+ TOKEN_DIRXATTR,
+ TOKEN_SAXATTR,
TOKEN_XATTR,
TOKEN_NOXATTR,
TOKEN_ATIME,
@@ -214,6 +216,8 @@ static const match_table_t zpl_tokens = {
{ TOKEN_NOEXEC, MNTOPT_NOEXEC },
{ TOKEN_DEVICES, MNTOPT_DEVICES },
{ TOKEN_NODEVICES, MNTOPT_NODEVICES },
+ { TOKEN_DIRXATTR, MNTOPT_DIRXATTR },
+ { TOKEN_SAXATTR, MNTOPT_SAXATTR },
{ TOKEN_XATTR, MNTOPT_XATTR },
{ TOKEN_NOXATTR, MNTOPT_NOXATTR },
{ TOKEN_ATIME, MNTOPT_ATIME },
@@ -262,12 +266,20 @@ zpl_parse_option(char *option, int token, substring_t *args, zfs_mntopts_t *zmo)
zmo->z_devices = B_FALSE;
zmo->z_do_devices = B_TRUE;
break;
+ case TOKEN_DIRXATTR:
+ zmo->z_xattr = ZFS_XATTR_DIR;
+ zmo->z_do_xattr = B_TRUE;
+ break;
+ case TOKEN_SAXATTR:
+ zmo->z_xattr = ZFS_XATTR_SA;
+ zmo->z_do_xattr = B_TRUE;
+ break;
case TOKEN_XATTR:
- zmo->z_xattr = B_TRUE;
+ zmo->z_xattr = ZFS_XATTR_DIR;
zmo->z_do_xattr = B_TRUE;
break;
case TOKEN_NOXATTR:
- zmo->z_xattr = B_FALSE;
+ zmo->z_xattr = ZFS_XATTR_OFF;
zmo->z_do_xattr = B_TRUE;
break;
case TOKEN_ATIME: