]> git.apps.os.sepia.ceph.com Git - ceph-ci.git/commitdiff
os/filestore: collect partition/device metadata from journal
authorSage Weil <sage@redhat.com>
Thu, 1 Nov 2018 10:09:42 +0000 (05:09 -0500)
committerSage Weil <sage@redhat.com>
Mon, 5 Nov 2018 14:54:07 +0000 (08:54 -0600)
Signed-off-by: Sage Weil <sage@redhat.com>
src/os/filestore/FileJournal.cc
src/os/filestore/FileJournal.h
src/os/filestore/FileStore.cc
src/os/filestore/Journal.h

index c0f5113761ac0c748c5f43a946ffef8ee2ff8c70..9e8b1cd31acc5570ac900e62f5082186adecd2ad 100644 (file)
@@ -2191,10 +2191,27 @@ void FileJournal::get_devices(set<string> *ls)
   char dev_node[PATH_MAX];
   BlkDev blkdev(fd);
   if (int rc = blkdev.wholedisk(dev_node, PATH_MAX); rc) {
-    return rc;
+    return;
   }
   ls->insert(dev_node);
   if (strncmp(dev_node, "dm-", 3) == 0) {
     get_dm_parents(dev_node, ls);
   }
 }
+
+void FileJournal::collect_metadata(map<string,string> *pm)
+{
+  BlkDev blkdev(fd);
+  char partition_path[PATH_MAX];
+  char dev_node[PATH_MAX];
+  if (blkdev.partition(partition_path, PATH_MAX)) {
+    (*pm)["backend_filestore_journal_partition_path"] = "unknown";
+  } else {
+    (*pm)["backend_filestore_journal_partition_path"] = string(partition_path);
+  }
+  if (blkdev.wholedisk(dev_node, PATH_MAX)) {
+    (*pm)["backend_filestore_journal_dev_node"] = "unknown";
+  } else {
+    (*pm)["backend_filestore_journal_dev_node"] = string(dev_node);
+  }
+}
index 52376d18f39a4bd5e5419f3c86d820069bb5498f..23ca024d65b2608172d282ef7007481ce555cdb1 100644 (file)
@@ -464,6 +464,7 @@ private:
   void flush() override;
 
   void get_devices(set<string> *ls) override;
+  void collect_metadata(map<string,string> *pm) override;
 
   void reserve_throttle_and_backoff(uint64_t count) override;
 
index 3d39d1b0ca290e3be912870069dd6871b52cf79a..dd0efe0275280ceb1194756788b6d00703efb7ef 100644 (file)
@@ -708,6 +708,9 @@ void FileStore::collect_metadata(map<string,string> *pm)
       (*pm)["vdo_physical_size"] =
        stringify(4096 * get_vdo_stat(vdo_fd, "physical_blocks"));
     }
+    if (journal) {
+      journal->collect_metadata(pm);
+    }
   }
 }
 
index 177443084941abcb4010a28f5b000cda378195e9..cfb667d89696a56a546e9251283e8ea5dfcd04ca 100644 (file)
@@ -53,7 +53,7 @@ public:
   virtual void flush() = 0;
 
   virtual void get_devices(set<string> *ls) {}
-
+  virtual void collect_metadata(map<string,string> *pm) {}
   /**
    * reserve_throttle_and_backoff
    *