do_write_v2 insert extentmap by aligned offset, if fault_range use
original offet~length, may not cover the proper extentmap range.
Signed-off-by: Chunmei Liu <chunmei.liu@ibm.com>
if (bl.length() != length) {
bl.splice(length, bl.length() - length);
}
- o->extent_map.fault_range(db, offset, length);
+ uint64_t start = p2align(offset, min_alloc_size);
+ uint64_t end = p2roundup(offset + length, min_alloc_size);
+ o->extent_map.fault_range(db, start, end - start);
BlueStore::Writer wr(this, txc, &wctx, o);
wr.do_write(offset, bl);
return r;