{
dout(10) << __func__ << " 0x" << std::hex << blob_offset << std::dec
<< " start " << *this << dendl;
+ ceph_assert(r);
ceph_assert(blob.can_split());
ceph_assert(used_in_blob.can_split());
bluestore_blob_t &lb = dirty_blob();
lb.split(blob_offset, rb);
+ maybe_prune_tail(); // we might get tail-to-prune after splitting
+ r->maybe_prune_tail(); // likely redundant (as we tend to prune original blob beforehand)
+ // but let it be
+
dout(10) << __func__ << " 0x" << std::hex << blob_offset << std::dec
<< " finish " << *this << dendl;
dout(10) << __func__ << " 0x" << std::hex << blob_offset << std::dec