]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
os/filestore: include journal in get_devices result
authorSage Weil <sage@redhat.com>
Thu, 1 Nov 2018 09:52:13 +0000 (04:52 -0500)
committerSage Weil <sage@redhat.com>
Thu, 1 Nov 2018 09:52:13 +0000 (04:52 -0500)
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 910dc3728132c85f3aeb69a426a89a97333f7cb0..c0f5113761ac0c748c5f43a946ffef8ee2ff8c70 100644 (file)
@@ -2185,3 +2185,16 @@ off64_t FileJournal::get_journal_size_estimate()
   dout(20) << __func__ << " journal size=" << size << dendl;
   return size;
 }
+
+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;
+  }
+  ls->insert(dev_node);
+  if (strncmp(dev_node, "dm-", 3) == 0) {
+    get_dm_parents(dev_node, ls);
+  }
+}
index 443aaee4101a209aa7664c006a3a333b7c676568..52376d18f39a4bd5e5419f3c86d820069bb5498f 100644 (file)
@@ -463,6 +463,8 @@ private:
 
   void flush() override;
 
+  void get_devices(set<string> *ls) override;
+
   void reserve_throttle_and_backoff(uint64_t count) override;
 
   bool is_writeable() override {
index d1cf1a5aceb1fa26e453072990a3081c63da89e5..3d39d1b0ca290e3be912870069dd6871b52cf79a 100644 (file)
@@ -722,6 +722,9 @@ int FileStore::get_devices(set<string> *ls)
   if (strncmp(dev_node, "dm-", 3) == 0) {
     get_dm_parents(dev_node, ls);
   }
+  if (journal) {
+    journal->get_devices(ls);
+  }
   return 0;
 }
 
index 9c1206cd257db2738269b8a6d669ddb1693c12f7..177443084941abcb4010a28f5b000cda378195e9 100644 (file)
@@ -52,6 +52,8 @@ public:
 
   virtual void flush() = 0;
 
+  virtual void get_devices(set<string> *ls) {}
+
   /**
    * reserve_throttle_and_backoff
    *