From: Kefu Chai Date: Fri, 21 Jun 2019 10:59:33 +0000 (+0800) Subject: crimson/os: add CyanStore::stat() X-Git-Tag: v15.1.0~2368^2~1 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=9de25a7992a55314d0a2dc97f12bc34fd9347604;p=ceph.git crimson/os: add CyanStore::stat() so crimson-osd can add itself to CRUSH map when booting up. Signed-off-by: Kefu Chai --- diff --git a/src/crimson/os/cyan_store.cc b/src/crimson/os/cyan_store.cc index 016a63e5f644..2c2aa06ce086 100644 --- a/src/crimson/os/cyan_store.cc +++ b/src/crimson/os/cyan_store.cc @@ -4,10 +4,12 @@ #include #include "common/safe_io.h" +#include "os/Transaction.h" + #include "crimson/common/buffer_io.h" +#include "crimson/common/config_proxy.h" #include "crimson/os/cyan_collection.h" #include "crimson/os/cyan_object.h" -#include "os/Transaction.h" namespace { seastar::logger& logger() { @@ -99,6 +101,15 @@ seastar::future<> CyanStore::mkfs() }); } +store_statfs_t CyanStore::stat() const +{ + logger().debug("{}", __func__); + store_statfs_t st; + st.total = ceph::common::local_conf().get_val("memstore_device_bytes"); + st.available = st.total - used_bytes; + return st; +} + seastar::future, ghobject_t> CyanStore::list_objects(CollectionRef c, const ghobject_t& start, diff --git a/src/crimson/os/cyan_store.h b/src/crimson/os/cyan_store.h index 4da2373b968e..028e733fad93 100644 --- a/src/crimson/os/cyan_store.h +++ b/src/crimson/os/cyan_store.h @@ -42,6 +42,8 @@ public: seastar::future<> umount() final; seastar::future<> mkfs() final; + store_statfs_t stat() const final; + seastar::future read(CollectionRef c, const ghobject_t& oid, uint64_t offset, diff --git a/src/crimson/os/futurized_store.h b/src/crimson/os/futurized_store.h index 49ad867c123e..ab4adfd35275 100644 --- a/src/crimson/os/futurized_store.h +++ b/src/crimson/os/futurized_store.h @@ -62,6 +62,8 @@ public: virtual seastar::future<> umount() = 0; virtual seastar::future<> mkfs() = 0; + virtual store_statfs_t stat() const = 0; + using CollectionRef = boost::intrusive_ptr; virtual seastar::future read(CollectionRef c, const ghobject_t& oid,