void ECBackend::objects_read_and_reconstruct(
const std::map<hobject_t, std::list<ec_align_t>> &reads,
bool fast_read,
+ uint64_t object_size,
GenContextURef<ec_extents_t &&> &&func)
{
return read_pipeline.objects_read_and_reconstruct(
reads, fast_read, std::move(func));
}
+void ECBackend::objects_read_and_reconstruct_for_rmw(
+ std::map<hobject_t, ECCommon::read_request_t> &&to_read,
+ GenContextURef<ECCommon::ec_extents_t&&> &&func)
+{
+ // TODO XXX FIXME
+}
+
ECBackend::ll_read_ierrorator::future<ECSubReadReply>
ECBackend::handle_rep_read_op(Ref<MOSDECSubOpRead> m)
{
void objects_read_and_reconstruct(
const std::map<hobject_t, std::list<ec_align_t>> &reads,
bool fast_read,
+ uint64_t object_size,
GenContextURef<ec_extents_t &&> &&func) override;
+ void objects_read_and_reconstruct_for_rmw(
+ std::map<hobject_t, read_request_t> &&to_read,
+ GenContextURef<ec_extents_t&&> &&func) override;
+
ceph::ErasureCodeInterfaceRef ec_impl;
const ECUtil::stripe_info_t sinfo;