diff options
author | Ned Bass <[email protected]> | 2015-09-16 02:49:09 -0700 |
---|---|---|
committer | Brian Behlendorf <[email protected]> | 2015-09-19 14:04:14 -0700 |
commit | 3af56fd95fbe8b417d7ed7c9c25ef59d6f1ee161 (patch) | |
tree | f3900dad139a246b7aa961bbd30735e23299a153 /lib | |
parent | 66aad10ce88f2a599365322a79f20d02f3c64393 (diff) |
Honor xattr=sa dataset property
ZFS incorrectly uses directory-based extended attributes even when
xattr=sa is specified as a dataset property or mount option. Support to
honor temporary mount options including "xattr" was added in commit
0282c4137e7409e6d85289f4955adf07fac834f5. There are two issues with the
mount option handling:
* Libzfs has historically included "xattr" in its list of default mount
options. This overrides the dataset property, so the dataset is always
configured to use directory-based xattrs even when the xattr dataset
property is set to off or sa. Address this by removing "xattr" from
the set of default mount options in libzfs.
* There was no way to enable system attribute-based extended attributes
using temporary mount options. Add the mount options "saxattr" and
"dirxattr" which enable the xattr behavior their names suggest. This
approach has the advantages of mirroring the valid xattr dataset
property values and following existing conventions for mount option
names.
Signed-off-by: Ned Bass <[email protected]>
Signed-off-by: Brian Behlendorf <[email protected]>
Closes #3787
Diffstat (limited to 'lib')
-rw-r--r-- | lib/libzfs/libzfs_mount.c | 2 |
1 files changed, 0 insertions, 2 deletions
diff --git a/lib/libzfs/libzfs_mount.c b/lib/libzfs/libzfs_mount.c index 0e3332e0e..c01ec105e 100644 --- a/lib/libzfs/libzfs_mount.c +++ b/lib/libzfs/libzfs_mount.c @@ -372,8 +372,6 @@ zfs_add_options(zfs_handle_t *zhp, char *options, int len) error = error ? error : zfs_add_option(zhp, options, len, ZFS_PROP_SETUID, MNTOPT_SETUID, MNTOPT_NOSETUID); error = error ? error : zfs_add_option(zhp, options, len, - ZFS_PROP_XATTR, MNTOPT_XATTR, MNTOPT_NOXATTR); - error = error ? error : zfs_add_option(zhp, options, len, ZFS_PROP_NBMAND, MNTOPT_NBMAND, MNTOPT_NONBMAND); return (error); |