mds: add new getvxattr op
This new op fetches ceph namespace specific extended attributes
i.e. attributes "ceph.dir.layout.json", "ceph.file.layout.json"
and "ceph.dir.pin*"
For layout attributes, value of the .json xattrs provide the
following features:
1. output in json format
2. resolves layout from the most closest ancestor inode, starting
at self
3. adds an 'inheritance' field to show the layout inheritance
where:
@default - implies default system-wide layout
@inherited - implies layout has been inherited from an ancestor
@set - implies layout has been set for that specific inode
4. adds two fields: pool_name and pool_id to differentiate between
the two values; especially for the situations where users have
chosen to use purely digit sequences to name pools; since pool_id
is system generated and its output is a decimal number as well,
users cannot distinguish the value in the field named 'pool'
Fixes: https://tracker.ceph.com/issues/51062
Signed-off-by: Milind Changire <mchangir@redhat.com>
(cherry picked from commit
b96c01da85315f52811d3ff81949dd7daefdefb5)