diff options
author | Sage Weil <sage@inktank.com> | 2013-01-21 07:07:12 +0100 |
---|---|---|
committer | Sage Weil <sage@inktank.com> | 2013-02-14 03:26:13 +0100 |
commit | 1f08f2b056ea6c2e12f4e95e88949a882a996208 (patch) | |
tree | aa5d26abcd813474afd4ff49a6113e5721a12434 /fs/ceph/xattr.c | |
parent | ceph: change ceph.file.layout.* implementation, content (diff) | |
download | linux-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.c | 8 |
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), |