// -*- mode:C++; tab-width:8; c-basic-offset:2; indent-tabs-mode:t -*- // vim: ts=8 sw=2 smarttab #pragma once #include #include #include #include #include "include/buffer_fwd.h" #include "include/ceph_assert.h" #include "common/hobject.h" #include "crimson/os/seastore/onode.h" #include "crimson/os/seastore/seastore_types.h" #include "crimson/os/seastore/transaction_manager.h" #include "crimson/osd/exceptions.h" namespace crimson::os::seastore { class OnodeManager { public: using open_ertr = crimson::errorator< crimson::ct_error::input_output_error>; virtual open_ertr::future get_or_create_onode( Transaction &trans, const ghobject_t &hoid) { return open_ertr::make_ready_future(); } virtual open_ertr::future> get_or_create_onodes( Transaction &trans, const std::vector &hoids) { return open_ertr::make_ready_future>(); } using write_ertr= crimson::errorator< crimson::ct_error::input_output_error>; virtual write_ertr::future<> write_dirty( Transaction &trans, const std::vector &onodes) { return write_ertr::now(); } virtual ~OnodeManager() {} }; using OnodeManagerRef = std::unique_ptr; namespace onode_manager { OnodeManagerRef create_ephemeral() { return OnodeManagerRef(); } } }