summaryrefslogtreecommitdiffstats
path: root/fs/9p/xattr.c
diff options
context:
space:
mode:
authorJim Garlick <garlick@llnl.gov>2013-05-29 12:09:39 -0700
committerEric Van Hensbergen <ericvh@gmail.com>2013-07-07 22:02:18 -0500
commitd9a738597faf7cd2edeec82ce8fd81969fed8390 (patch)
treef8d28d334442ce32e7e1bf7ade94daa1487b6f34 /fs/9p/xattr.c
parent2f28c8b31dc501027d9aa6acf496c5941736312b (diff)
downloadlinux-d9a738597faf7cd2edeec82ce8fd81969fed8390.tar.gz
linux-d9a738597faf7cd2edeec82ce8fd81969fed8390.tar.bz2
linux-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.c4
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
};