enum class ct_error {
enoent,
invarg,
- enodata
+ enodata,
+ input_output_error
};
}
using enoent = unthrowable_wrapper<_impl::ct_error::enoent>;
using enodata = unthrowable_wrapper<_impl::ct_error::enodata>;
using invarg = unthrowable_wrapper<_impl::ct_error::invarg>;
+ using input_output_error = unthrowable_wrapper<_impl::ct_error::input_output_error>;
}
} // namespace crimson
protected:
using CollectionRef = crimson::os::CollectionRef;
using ec_profile_t = std::map<std::string, std::string>;
+ // low-level read errorator
+ using ll_read_errorator = crimson::os::FuturizedStore::read_errorator;
public:
PGBackend(shard_id_t shard, CollectionRef coll, crimson::os::FuturizedStore* store);
using cached_os_t = boost::local_shared_ptr<ObjectState>;
seastar::future<cached_os_t> get_object_state(const hobject_t& oid);
seastar::future<> evict_object_state(const hobject_t& oid);
+
+ using read_errorator = \
+ ll_read_errorator::extend<crimson::ct_error::input_output_error>;
seastar::future<bufferlist> read(const object_info_t& oi,
uint64_t off,
uint64_t len,
virtual void got_rep_op_reply(const MOSDRepOpReply&) {}
protected:
- // low-level read errorator
- using ll_read_errorator = ceph::os::FuturizedStore::read_errorator;
const shard_id_t shard;
CollectionRef coll;
crimson::os::FuturizedStore* store;