]> git.apps.os.sepia.ceph.com Git - ceph-ci.git/commit
os/bluestore: fix clone dirty_range again
authorSage Weil <sage@redhat.com>
Fri, 11 Aug 2017 16:46:09 +0000 (12:46 -0400)
committerSage Weil <sage@redhat.com>
Fri, 11 Aug 2017 16:46:25 +0000 (12:46 -0400)
commitd5ba7061ee588c232138af1d880faf09be4adeed
tree6bc23958b675f2a4977538ed76ca124b9f833c1d
parent50724db8e57068a374f559873340ec8d124afe43
os/bluestore: fix clone dirty_range again

If we are cloning a blob for a 1 byte logical extent then dirty_range_begin
will equal _end and we won't dirty the source onode (with possibly newly
shared blobs).

Fix by using a separate flag to indicate whether we are dirtying instead
of overloading the begin/end markers for this.  Note that even if they
are equal dirty_range will still dirty the shard in question.

This is a result of 0ae5d92d42500e5ab08253a00bda47b957767ebc.

Fixes: http://tracker.ceph.com/issues/20983
Signed-off-by: Sage Weil <sage@redhat.com>
src/os/bluestore/BlueStore.cc