}
_dump_onode(o);
+ dout(20) << __func__ << " " << offset << "~" << len << " size "
+ << o->onode.size << dendl;
+
+ map<uint64_t,bluestore_extent_t>::iterator bp, bend;
+ map<uint64_t,bluestore_overlay_t>::iterator op, oend;
+
if (offset == len && offset == 0)
len = o->onode.size;
if (offset > o->onode.size)
- return 0;
+ goto out;
if (offset + len > o->onode.size) {
len = o->onode.size - offset;
}
- dout(20) << __func__ << " " << offset << "~" << len << " size "
- << o->onode.size << dendl;
-
- map<uint64_t,bluestore_extent_t>::iterator bp, bend;
- map<uint64_t,bluestore_overlay_t>::iterator op, oend;
-
// loop over overlays and data fragments. overlays take precedence.
bend = o->onode.block_map.end();
bp = o->onode.block_map.lower_bound(offset);
continue;
}
+ out:
::encode(m, bl);
dout(20) << __func__ << " " << offset << "~" << len
<< " size = 0 (" << m << ")" << dendl;