]> git.apps.os.sepia.ceph.com Git - ceph.git/commit
mds: add new getvxattr op
authorMilind Changire <mchangir@redhat.com>
Mon, 24 Jan 2022 08:14:17 +0000 (13:44 +0530)
committerMilind Changire <mchangir@redhat.com>
Thu, 17 Mar 2022 13:13:59 +0000 (18:43 +0530)
commit32c0abfe53b676a8ffbdefd5c7fce5b30e1d8c0f
treec286ebdbec4282efe6bb89da92798f7162ac98f4
parent179a7bca8a84771b0dde09e26f7a2146a985df90
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)
src/include/ceph_fs.h
src/mds/Server.cc
src/mds/Server.h