The statement "if (ep->logical_offset + b->get_blob().get_ondisk_length() <= offset)" which try to judge if the writing offset is in the current Blob may be wrong.
Signed-off-by: feng yu amoxic@126.com
if (ep != o->extent_map.extent_map.begin()) {
--ep;
b = ep->blob;
- if (ep->logical_offset + b->get_blob().get_ondisk_length() <= offset) {
+ if ((ep->logical_offset - ep->blob_offset) + b->get_blob().get_ondisk_length() <= offset) {
++ep;
}
}