]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commitdiff
os/bluestore,filestore: use get_raw_devices
authorSage Weil <sage@redhat.com>
Fri, 21 Dec 2018 17:21:32 +0000 (11:21 -0600)
committerSage Weil <sage@redhat.com>
Fri, 4 Jan 2019 00:10:26 +0000 (18:10 -0600)
There is a minor change here: before the devices list would include
e.g. 'sda2' and 'sda', and now it will only include 'sda'.

Fixes: http://tracker.ceph.com/issues/37542
Signed-off-by: Sage Weil <sage@redhat.com>
src/os/bluestore/KernelDevice.cc
src/os/filestore/FileJournal.cc
src/os/filestore/FileStore.cc

index 0cb62627e51aa16bf67a51f95327530ad318dc9a..69e566ab7cb185cdcb6c96bb5181a95cc24fc77a 100644 (file)
@@ -218,10 +218,7 @@ int KernelDevice::get_devices(std::set<std::string> *ls)
   if (devname.empty()) {
     return 0;
   }
-  ls->insert(devname);
-  if (devname.find("dm-") == 0) {
-    get_dm_parents(devname, ls);
-  }
+  get_raw_devices(devname, ls);
   return 0;
 }
 
index b17ddcc023506ebe19fad0f6bd49c75ff20025d9..2083b0a0a421e04e86eea145f8a5d88fe7478a54 100644 (file)
@@ -2186,15 +2186,12 @@ off64_t FileJournal::get_journal_size_estimate()
 
 void FileJournal::get_devices(set<string> *ls)
 {
-  char dev_node[PATH_MAX];
+  string dev_node;
   BlkDev blkdev(fd);
-  if (int rc = blkdev.wholedisk(dev_node, PATH_MAX); rc) {
+  if (int rc = blkdev.wholedisk(&dev_node); rc) {
     return;
   }
-  ls->insert(dev_node);
-  if (strncmp(dev_node, "dm-", 3) == 0) {
-    get_dm_parents(dev_node, ls);
-  }
+  get_raw_devices(dev_node, ls);
 }
 
 void FileJournal::collect_metadata(map<string,string> *pm)
index cd03f6e36dd0f3afc5a1a1a34b66c8874222dcc4..ef598d2d03e5ee94cfaaee461b17953911032104 100644 (file)
@@ -716,15 +716,12 @@ void FileStore::collect_metadata(map<string,string> *pm)
 
 int FileStore::get_devices(set<string> *ls)
 {
-  char dev_node[PATH_MAX];
+  string dev_node;
   BlkDev blkdev(fsid_fd);
-  if (int rc = blkdev.wholedisk(dev_node, PATH_MAX); rc) {
+  if (int rc = blkdev.wholedisk(&dev_node); rc) {
     return rc;
   }
-  ls->insert(dev_node);
-  if (strncmp(dev_node, "dm-", 3) == 0) {
-    get_dm_parents(dev_node, ls);
-  }
+  get_raw_devices(dev_node, ls);
   if (journal) {
     journal->get_devices(ls);
   }