summaryrefslogtreecommitdiffstats
path: root/fs/ceph/xattr.c
diff options
context:
space:
mode:
authorSage Weil <sage@inktank.com>2013-01-21 07:07:12 +0100
committerSage Weil <sage@inktank.com>2013-02-14 03:26:13 +0100
commit1f08f2b056ea6c2e12f4e95e88949a882a996208 (patch)
treeaa5d26abcd813474afd4ff49a6113e5721a12434 /fs/ceph/xattr.c
parentceph: change ceph.file.layout.* implementation, content (diff)
downloadlinux-1f08f2b056ea6c2e12f4e95e88949a882a996208.tar.xz
linux-1f08f2b056ea6c2e12f4e95e88949a882a996208.zip
ceph: add ceph.dir.layout vxattr
This virtual xattr will only appear when there is a dir layout policy set on the directory. It can be set via setxattr and removed via removexattr (implemented by the MDS). Signed-off-by: Sage Weil <sage@inktank.com> Reviewed-by: Sam Lang <sam.lang@inktank.com>
Diffstat (limited to 'fs/ceph/xattr.c')
-rw-r--r--fs/ceph/xattr.c8
1 files changed, 8 insertions, 0 deletions
diff --git a/fs/ceph/xattr.c b/fs/ceph/xattr.c
index 532c95a6c9fa..f3c4fe7202c7 100644
--- a/fs/ceph/xattr.c
+++ b/fs/ceph/xattr.c
@@ -142,6 +142,14 @@ static size_t ceph_vxattrcb_dir_rctime(struct ceph_inode_info *ci, char *val,
}
static struct ceph_vxattr ceph_dir_vxattrs[] = {
+ {
+ .name = "ceph.dir.layout",
+ .name_size = sizeof("ceph.dir.layout"),
+ .getxattr_cb = ceph_vxattrcb_layout,
+ .readonly = false,
+ .hidden = false,
+ .exists_cb = ceph_vxattrcb_layout_exists,
+ },
XATTR_NAME_CEPH(dir, entries),
XATTR_NAME_CEPH(dir, files),
XATTR_NAME_CEPH(dir, subdirs),