Make sure that spanning blobs are not allowed to have extents crossing
shard boundary.
Partially fixes: https://tracker.ceph.com/issues/70390
Signed-off-by: Adam Kupczyk <akupczyk@ibm.com>
(cherry picked from commit
ce05ade7980397cad48e8fc78bebc839c76ba327)
<< std::dec << " hit new spanning blob " << *p << dendl;
request_reshard(p->blob_start(), p->blob_end());
must_reshard = true;
+ } else if (p->blob->is_spanning() && p->logical_end() > end) {
+ dout(30) << __func__ << std::hex << offset << "~" << length
+ << std::dec << " extent stands out " << *p << dendl;
+ request_reshard(p->blob_start(), p->blob_end());
+ must_reshard = true;
}
if (!must_reshard) {
denc_varint(0, bound); // blobid