From: Samuel Just Date: Fri, 30 Apr 2021 21:10:57 +0000 (-0700) Subject: crimson/os/seastore: wire up stat X-Git-Tag: v17.1.0~2043^2~19 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=f5ffc8630a452be978b61a06e93a8dd0106a2794;p=ceph.git crimson/os/seastore: wire up stat Signed-off-by: Samuel Just --- diff --git a/src/crimson/os/seastore/seastore.cc b/src/crimson/os/seastore/seastore.cc index 7077df0c6598..1c362dac2923 100644 --- a/src/crimson/os/seastore/seastore.cc +++ b/src/crimson/os/seastore/seastore.cc @@ -88,8 +88,9 @@ seastar::future SeaStore::stat() const { LOG_PREFIX(SeaStore::stat); DEBUG(""); - store_statfs_t st; - return seastar::make_ready_future(st); + return seastar::make_ready_future( + transaction_manager->store_stat() + ); } seastar::future, ghobject_t>> diff --git a/src/crimson/os/seastore/segment_cleaner.h b/src/crimson/os/seastore/segment_cleaner.h index bce976886d94..ee291f4db23a 100644 --- a/src/crimson/os/seastore/segment_cleaner.h +++ b/src/crimson/os/seastore/segment_cleaner.h @@ -7,6 +7,8 @@ #include "common/ceph_time.h" +#include "osd/osd_types.h" + #include "crimson/common/log.h" #include "crimson/os/seastore/cached_extent.h" #include "crimson/os/seastore/journal.h" @@ -503,6 +505,18 @@ public: start(); } + store_statfs_t stat() const { + store_statfs_t st; + st.total = get_total_bytes(); + st.available = get_total_bytes() - get_used_bytes(); + st.allocated = get_used_bytes(); + st.data_stored = get_used_bytes(); + + // TODO add per extent type counters for omap_allocated and + // internal metadata + return st; + } + seastar::future<> stop() { return gc_process.stop(); } diff --git a/src/crimson/os/seastore/transaction_manager.h b/src/crimson/os/seastore/transaction_manager.h index afbf69fe84c6..07125396d0b0 100644 --- a/src/crimson/os/seastore/transaction_manager.h +++ b/src/crimson/os/seastore/transaction_manager.h @@ -473,6 +473,10 @@ public: return segment_manager.get_block_size(); } + store_statfs_t store_stat() const { + return segment_cleaner->stat(); + } + ~TransactionManager(); private: