});
}
+seastar::future<> AlienStore::inject_data_error(const ghobject_t& o)
+{
+ logger().debug("{}", __func__);
+ return tp->submit([=] {
+ return store->inject_data_error(o);
+ });
+}
+
+seastar::future<> AlienStore::inject_mdata_error(const ghobject_t& o)
+{
+ logger().debug("{}", __func__);
+ return tp->submit([=] {
+ return store->inject_mdata_error(o);
+ });
+}
+
seastar::future<> AlienStore::write_meta(const std::string& key,
const std::string& value)
{
seastar::future<> do_transaction(CollectionRef c,
ceph::os::Transaction&& txn) final;
+ // error injection
+ seastar::future<> inject_data_error(const ghobject_t& o) final;
+ seastar::future<> inject_mdata_error(const ghobject_t& o) final;
+
seastar::future<> write_meta(const std::string& key,
const std::string& value) final;
seastar::future<std::tuple<int, std::string>> read_meta(
virtual seastar::future<> do_transaction(CollectionRef ch,
ceph::os::Transaction&& txn) = 0;
+ // error injection
+ virtual seastar::future<> inject_data_error(const ghobject_t& o) {
+ return seastar::now();
+ }
+ virtual seastar::future<> inject_mdata_error(const ghobject_t& o) {
+ return seastar::now();
+ }
+
virtual seastar::future<OmapIteratorRef> get_omap_iterator(
CollectionRef ch,
const ghobject_t& oid) = 0;