From: Varada Kari Date: Fri, 22 Jul 2016 11:24:41 +0000 (+0530) Subject: os/bluestore/BlueFS: interface to get bluefs space usage X-Git-Tag: ses5-milestone5~93^2~8 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=5157a5ee440327b4e2c07db1f7a17e6eb335c588;p=ceph.git os/bluestore/BlueFS: interface to get bluefs space usage Returns total bytes consumed by BlueFS across devs Signed-off-by: Varada Kari --- diff --git a/src/os/bluestore/BlueFS.cc b/src/os/bluestore/BlueFS.cc index 919e07e5fc58..189b9cd1af98 100644 --- a/src/os/bluestore/BlueFS.cc +++ b/src/os/bluestore/BlueFS.cc @@ -186,6 +186,15 @@ int BlueFS::reclaim_blocks(unsigned id, uint64_t want, return 0; } +uint64_t BlueFS::get_fs_usage() +{ + uint64_t total_bytes = 0; + for (auto& p : file_map) { + total_bytes += p.second->fnode.get_allocated(); + } + return total_bytes; +} + uint64_t BlueFS::get_total(unsigned id) { std::lock_guard l(lock); diff --git a/src/os/bluestore/BlueFS.h b/src/os/bluestore/BlueFS.h index f3bf5700ac84..a71a11b5c91d 100644 --- a/src/os/bluestore/BlueFS.h +++ b/src/os/bluestore/BlueFS.h @@ -296,6 +296,7 @@ public: int fsck(); + uint64_t get_fs_usage(); uint64_t get_total(unsigned id); uint64_t get_free(unsigned id); void get_usage(vector> *usage); // [ ...]