diff options
author | Jim Garlick <garlick@llnl.gov> | 2013-05-29 12:09:39 -0700 |
---|---|---|
committer | Eric Van Hensbergen <ericvh@gmail.com> | 2013-07-07 22:02:18 -0500 |
commit | d9a738597faf7cd2edeec82ce8fd81969fed8390 (patch) | |
tree | f8d28d334442ce32e7e1bf7ade94daa1487b6f34 /fs/9p/xattr.c | |
parent | 2f28c8b31dc501027d9aa6acf496c5941736312b (diff) | |
download | linux-stable-d9a738597faf7cd2edeec82ce8fd81969fed8390.tar.gz linux-stable-d9a738597faf7cd2edeec82ce8fd81969fed8390.tar.bz2 linux-stable-d9a738597faf7cd2edeec82ce8fd81969fed8390.zip |
fs/9p: xattr: add trusted and security namespaces
Allow requests for security.* and trusted.* xattr name spaces
to pass through to server.
The new files are 99% cut and paste from fs/9p/xattr_user.c with the
namespaces changed. It has the intended effect in superficial testing.
I do not know much detail about how these namespaces are used, but passing
them through to the server, which can decide whether to handle them or not,
seems reasonable.
I want to support a use case where an ext4 file system is mounted via 9P,
then re-exported via samba to windows clients in a cluster. Windows wants
to store xattrs such as security.NTACL. This works when ext4 directly
backs samba, but not when 9P is inserted. This use case is documented here:
http://code.google.com/p/diod/issues/detail?id=95
Signed-off-by: Jim Garlick <garlick@llnl.gov>
Signed-off-by: Eric Van Hensbergen <ericvh@gmail.com>
Diffstat (limited to 'fs/9p/xattr.c')
-rw-r--r-- | fs/9p/xattr.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/fs/9p/xattr.c b/fs/9p/xattr.c index c45e016b190f..3c28cdfb8c47 100644 --- a/fs/9p/xattr.c +++ b/fs/9p/xattr.c @@ -167,9 +167,13 @@ ssize_t v9fs_listxattr(struct dentry *dentry, char *buffer, size_t buffer_size) const struct xattr_handler *v9fs_xattr_handlers[] = { &v9fs_xattr_user_handler, + &v9fs_xattr_trusted_handler, #ifdef CONFIG_9P_FS_POSIX_ACL &v9fs_xattr_acl_access_handler, &v9fs_xattr_acl_default_handler, #endif +#ifdef CONFIG_9P_FS_SECURITY + &v9fs_xattr_security_handler, +#endif NULL }; |