#include <fmt/ostream.h>
#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() {
});
}
+store_statfs_t CyanStore::stat() const
+{
+ logger().debug("{}", __func__);
+ store_statfs_t st;
+ st.total = ceph::common::local_conf().get_val<Option::size_t>("memstore_device_bytes");
+ st.available = st.total - used_bytes;
+ return st;
+}
+
seastar::future<std::vector<ghobject_t>, ghobject_t>
CyanStore::list_objects(CollectionRef c,
const ghobject_t& start,
seastar::future<> umount() final;
seastar::future<> mkfs() final;
+ store_statfs_t stat() const final;
+
seastar::future<ceph::bufferlist> read(CollectionRef c,
const ghobject_t& oid,
uint64_t offset,
virtual seastar::future<> umount() = 0;
virtual seastar::future<> mkfs() = 0;
+ virtual store_statfs_t stat() const = 0;
+
using CollectionRef = boost::intrusive_ptr<Collection>;
virtual seastar::future<ceph::bufferlist> read(CollectionRef c,
const ghobject_t& oid,