ceph: add ceph.dir.layout vxattr
authorSage Weil <sage@inktank.com>
Mon, 21 Jan 2013 06:07:12 +0000 (22:07 -0800)
committerSage Weil <sage@inktank.com>
Thu, 14 Feb 2013 02:26:13 +0000 (18:26 -0800)
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>
fs/ceph/xattr.c

index 532c95a6c9fa907d967909e760a8217799789b6d..f3c4fe7202c71bf475c91f03108f2820923da119 100644 (file)
@@ -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),