From e90eef1336cba9ff5c3ab8be069447365f70bdb9 Mon Sep 17 00:00:00 2001 From: Sage Weil Date: Tue, 31 Oct 2017 12:30:28 -0500 Subject: [PATCH] os/filestore: implement get_devices() Signed-off-by: Sage Weil --- src/os/filestore/FileStore.cc | 15 +++++++++++++++ src/os/filestore/FileStore.h | 1 + 2 files changed, 16 insertions(+) diff --git a/src/os/filestore/FileStore.cc b/src/os/filestore/FileStore.cc index c91a74e43be84..35e99d667638a 100644 --- a/src/os/filestore/FileStore.cc +++ b/src/os/filestore/FileStore.cc @@ -708,6 +708,21 @@ void FileStore::collect_metadata(map *pm) } } +int FileStore::get_devices(set *ls) +{ + char partition_path[PATH_MAX]; + char dev_node[PATH_MAX]; + int rc = 0; + rc = get_device_by_fd(fsid_fd, partition_path, dev_node, PATH_MAX); + if (rc == 0) { + ls->insert(dev_node); + if (strncmp(dev_node, "dm-", 3) == 0) { + get_dm_parents(dev_node, ls); + } + } + return 0; +} + int FileStore::statfs(struct store_statfs_t *buf0) { struct statfs buf; diff --git a/src/os/filestore/FileStore.h b/src/os/filestore/FileStore.h index f7d4278e3ccd3..a7c5b0ab3ee62 100644 --- a/src/os/filestore/FileStore.h +++ b/src/os/filestore/FileStore.h @@ -502,6 +502,7 @@ public: } void collect_metadata(map *pm) override; + int get_devices(set *ls) override; int statfs(struct store_statfs_t *buf) override; -- 2.39.5