Signed-off-by: Mykola Golub <mgolub@suse.com>
ceph_assert(curr == 0);
}
+void Striper::StripedReadResult::assemble_result(
+ CephContext *cct, std::map<uint64_t, uint64_t> *extent_map,
+ bufferlist *bl)
+{
+ ldout(cct, 10) << "assemble_result(" << this << ")" << dendl;
+ for (auto& p : partial) {
+ uint64_t off = p.first;
+ uint64_t len = p.second.first.length();
+ if (len > 0) {
+ (*extent_map)[off] = len;
+ bl->claim_append(p.second.first);
+ }
+ }
+ partial.clear();
+}
* @len the length of buffer
*/
void assemble_result(CephContext *cct, char *buffer, size_t len);
+
+ void assemble_result(CephContext *cct,
+ std::map<uint64_t, uint64_t> *extent_map,
+ ceph::buffer::list *bl);
};
};