From b23fa4ca7aaa054a4caa5d94f8be8fe05fa0a9f7 Mon Sep 17 00:00:00 2001 From: Sage Weil Date: Fri, 21 Dec 2018 11:21:32 -0600 Subject: [PATCH] os/bluestore,filestore: use get_raw_devices 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 --- src/os/bluestore/KernelDevice.cc | 5 +---- src/os/filestore/FileJournal.cc | 9 +++------ src/os/filestore/FileStore.cc | 9 +++------ 3 files changed, 7 insertions(+), 16 deletions(-) diff --git a/src/os/bluestore/KernelDevice.cc b/src/os/bluestore/KernelDevice.cc index 0cb62627e51..69e566ab7cb 100644 --- a/src/os/bluestore/KernelDevice.cc +++ b/src/os/bluestore/KernelDevice.cc @@ -218,10 +218,7 @@ int KernelDevice::get_devices(std::set *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; } diff --git a/src/os/filestore/FileJournal.cc b/src/os/filestore/FileJournal.cc index b17ddcc0235..2083b0a0a42 100644 --- a/src/os/filestore/FileJournal.cc +++ b/src/os/filestore/FileJournal.cc @@ -2186,15 +2186,12 @@ off64_t FileJournal::get_journal_size_estimate() void FileJournal::get_devices(set *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 *pm) diff --git a/src/os/filestore/FileStore.cc b/src/os/filestore/FileStore.cc index cd03f6e36dd..ef598d2d03e 100644 --- a/src/os/filestore/FileStore.cc +++ b/src/os/filestore/FileStore.cc @@ -716,15 +716,12 @@ void FileStore::collect_metadata(map *pm) int FileStore::get_devices(set *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); } -- 2.39.5