From: Sage Weil Date: Tue, 20 Jun 2017 02:57:43 +0000 (-0400) Subject: os/bluestore: fix unsharing blob dirty_range args X-Git-Tag: v12.1.0~38^2 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=6e83cfecfbd0d4ffe4657146ad72bba2b5d4a43e;p=ceph.git os/bluestore: fix unsharing blob dirty_range args Fixes: http://tracker.ceph.com/issues/20227 Signed-off-by: Sage Weil --- diff --git a/src/os/bluestore/BlueStore.cc b/src/os/bluestore/BlueStore.cc index 2d3479966221..498c8bb50df4 100644 --- a/src/os/bluestore/BlueStore.cc +++ b/src/os/bluestore/BlueStore.cc @@ -10353,7 +10353,7 @@ int BlueStore::_do_remove( if (b.is_shared() && std::find(unshared_blobs.begin(), unshared_blobs.end(), sb) != unshared_blobs.end()) { - dout(20) << __func__ << " " << e << dendl; + dout(20) << __func__ << " unsharing " << e << dendl; bluestore_blob_t& blob = e.blob->dirty_blob(); blob.clear_flag(bluestore_blob_t::FLAG_SHARED); if (e.logical_offset < b_start) { @@ -10365,7 +10365,7 @@ int BlueStore::_do_remove( } } - h->extent_map.dirty_range(b_start, b_end); + h->extent_map.dirty_range(b_start, b_end - b_start); txc->write_onode(h); } }