From 9de25a7992a55314d0a2dc97f12bc34fd9347604 Mon Sep 17 00:00:00 2001 From: Kefu Chai Date: Fri, 21 Jun 2019 18:59:33 +0800 Subject: [PATCH] crimson/os: add CyanStore::stat() so crimson-osd can add itself to CRUSH map when booting up. Signed-off-by: Kefu Chai --- src/crimson/os/cyan_store.cc | 13 ++++++++++++- src/crimson/os/cyan_store.h | 2 ++ src/crimson/os/futurized_store.h | 2 ++ 3 files changed, 16 insertions(+), 1 deletion(-) diff --git a/src/crimson/os/cyan_store.cc b/src/crimson/os/cyan_store.cc index 016a63e5f64..2c2aa06ce08 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 4da2373b968..028e733fad9 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 49ad867c123..ab4adfd3527 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, -- 2.39.5