From cb6bfbeb195d0ea2759a241cf538903270b1f3f7 Mon Sep 17 00:00:00 2001 From: Sage Weil Date: Fri, 20 Oct 2017 17:12:30 -0500 Subject: [PATCH] os/bluestore: implement get_devices() Signed-off-by: Sage Weil --- src/os/bluestore/BlueFS.cc | 9 +++++++++ src/os/bluestore/BlueFS.h | 1 + src/os/bluestore/BlueStore.cc | 9 +++++++++ src/os/bluestore/BlueStore.h | 2 ++ 4 files changed, 21 insertions(+) diff --git a/src/os/bluestore/BlueFS.cc b/src/os/bluestore/BlueFS.cc index 4754c2ab5ce..8126f24f95a 100644 --- a/src/os/bluestore/BlueFS.cc +++ b/src/os/bluestore/BlueFS.cc @@ -459,6 +459,15 @@ void BlueFS::collect_metadata(map *pm, unsigned skip_bdev_id) bdev[BDEV_WAL]->collect_metadata("bluefs_wal_", pm); } +void BlueFS::get_devices(set *ls) +{ + for (unsigned i = 0; i < MAX_BDEV; ++i) { + if (bdev[i]) { + bdev[i]->get_devices(ls); + } + } +} + int BlueFS::fsck() { std::lock_guard l(lock); diff --git a/src/os/bluestore/BlueFS.h b/src/os/bluestore/BlueFS.h index 7c1cfd9beec..4c1f5da5b32 100644 --- a/src/os/bluestore/BlueFS.h +++ b/src/os/bluestore/BlueFS.h @@ -338,6 +338,7 @@ public: const vector& devs); void collect_metadata(map *pm, unsigned skip_bdev_id); + void get_devices(set *ls); int fsck(); uint64_t get_fs_usage(); diff --git a/src/os/bluestore/BlueStore.cc b/src/os/bluestore/BlueStore.cc index 717777f9088..1abe4683b36 100644 --- a/src/os/bluestore/BlueStore.cc +++ b/src/os/bluestore/BlueStore.cc @@ -6239,6 +6239,15 @@ void BlueStore::collect_metadata(map *pm) } } +int BlueStore::get_devices(set *ls) +{ + bdev->get_devices(ls); + if (bluefs) { + bluefs->get_devices(ls); + } + return 0; +} + int BlueStore::statfs(struct store_statfs_t *buf) { buf->reset(); diff --git a/src/os/bluestore/BlueStore.h b/src/os/bluestore/BlueStore.h index 59e286d7a34..474e52ac26c 100644 --- a/src/os/bluestore/BlueStore.h +++ b/src/os/bluestore/BlueStore.h @@ -2122,6 +2122,8 @@ public: bool wants_journal() override { return false; }; bool allows_journal() override { return false; }; + int get_devices(set *ls) override; + bool is_rotational() override; bool is_journal_rotational() override; -- 2.39.5