]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
client: expose layout.pool_namespace vxattr
authorSage Weil <sage@redhat.com>
Mon, 4 Jan 2016 14:15:34 +0000 (09:15 -0500)
committerSage Weil <sage@redhat.com>
Tue, 1 Mar 2016 16:18:16 +0000 (11:18 -0500)
Signed-off-by: Sage Weil <sage@redhat.com>
src/client/Client.cc
src/client/Client.h

index 2171f913a63c1e0892da8c04923f5bdeecfe7896..31f31f86e99d3ee2589ecb64514b894e83f1dbd5 100644 (file)
@@ -9988,6 +9988,9 @@ size_t Client::_vxattrcb_layout(Inode *in, char *val, size_t size)
        r += snprintf(val + r, size - r, "%" PRIu64,
                      (uint64_t)in->layout.pool_id);
     });
+  if (in->layout.pool_ns.length())
+    r += snprintf(val + r, size - r, " pool_namespace=%s",
+                 in->layout.pool_ns.c_str());
   return r;
 }
 size_t Client::_vxattrcb_layout_stripe_unit(Inode *in, char *val, size_t size)
@@ -10014,6 +10017,10 @@ size_t Client::_vxattrcb_layout_pool(Inode *in, char *val, size_t size)
     });
   return r;
 }
+size_t Client::_vxattrcb_layout_pool_namespace(Inode *in, char *val, size_t size)
+{
+  return snprintf(val, size, "%s", in->layout.pool_ns.c_str());
+}
 size_t Client::_vxattrcb_dir_entries(Inode *in, char *val, size_t size)
 {
   return snprintf(val, size, "%lld", (unsigned long long)(in->dirstat.nfiles + in->dirstat.nsubdirs));
@@ -10088,6 +10095,7 @@ const Client::VXattr Client::_dir_vxattrs[] = {
   XATTR_LAYOUT_FIELD(dir, layout, stripe_count),
   XATTR_LAYOUT_FIELD(dir, layout, object_size),
   XATTR_LAYOUT_FIELD(dir, layout, pool),
+  XATTR_LAYOUT_FIELD(dir, layout, pool_namespace),
   XATTR_NAME_CEPH(dir, entries),
   XATTR_NAME_CEPH(dir, files),
   XATTR_NAME_CEPH(dir, subdirs),
@@ -10120,6 +10128,7 @@ const Client::VXattr Client::_file_vxattrs[] = {
   XATTR_LAYOUT_FIELD(file, layout, stripe_count),
   XATTR_LAYOUT_FIELD(file, layout, object_size),
   XATTR_LAYOUT_FIELD(file, layout, pool),
+  XATTR_LAYOUT_FIELD(file, layout, pool_namespace),
   { name: "" }     /* Required table terminator */
 };
 
index 34fc602e918df426d599b3dc3bf658eeadd15e44..74752bf005bd50f0286fdff2bf33dacaa6fcac73 100644 (file)
@@ -830,6 +830,7 @@ private:
   size_t _vxattrcb_layout_stripe_count(Inode *in, char *val, size_t size);
   size_t _vxattrcb_layout_object_size(Inode *in, char *val, size_t size);
   size_t _vxattrcb_layout_pool(Inode *in, char *val, size_t size);
+  size_t _vxattrcb_layout_pool_namespace(Inode *in, char *val, size_t size);
   size_t _vxattrcb_dir_entries(Inode *in, char *val, size_t size);
   size_t _vxattrcb_dir_files(Inode *in, char *val, size_t size);
   size_t _vxattrcb_dir_subdirs(Inode *in, char *val, size_t size);