Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 8860147a authored by Sage Weil's avatar Sage Weil
Browse files

ceph: support hidden vxattrs



Add ability to flag virtual xattrs as hidden, such that you can
getxattr them but they do not appear in listxattr.

Signed-off-by: default avatarSage Weil <sage@inktank.com>
Reviewed-by: default avatarSam Lang <sam.lang@inktank.com>
parent 39b648d9
Loading
Loading
Loading
Loading
+11 −9
Original line number Diff line number Diff line
@@ -29,7 +29,7 @@ struct ceph_vxattr {
	size_t name_size;	/* strlen(name) + 1 (for '\0') */
	size_t (*getxattr_cb)(struct ceph_inode_info *ci, char *val,
			      size_t size);
	bool readonly;
	bool readonly, hidden;
};

/* directories */
@@ -91,6 +91,7 @@ static size_t ceph_vxattrcb_dir_rctime(struct ceph_inode_info *ci, char *val,
		.name_size = sizeof (CEPH_XATTR_NAME(_type, _name)), \
		.getxattr_cb = ceph_vxattrcb_ ## _type ## _ ## _name, \
		.readonly = true,				\
		.hidden = false,				\
	}

static struct ceph_vxattr ceph_dir_vxattrs[] = {
@@ -157,6 +158,7 @@ static size_t __init vxattrs_name_size(struct ceph_vxattr *vxattrs)
	size_t size = 0;

	for (vxattr = vxattrs; vxattr->name; vxattr++)
		if (!vxattr->hidden)
			size += vxattr->name_size;

	return size;