]> git.apps.os.sepia.ceph.com Git - ceph.git/commit
ReplicatedBackend: take read locks for clone sources during recovery
authorSamuel Just <sjust@redhat.com>
Wed, 23 Nov 2016 23:41:13 +0000 (15:41 -0800)
committerNathan Cutler <ncutler@suse.com>
Mon, 3 Jul 2017 10:30:53 +0000 (12:30 +0200)
commit30ff11c84fd6d53c6439aaed8f7742b98a5b6218
tree382a21536565d1911d41cc3b202dc61a81a9f325
parentf31033cb5bc7764b44871c15717aed5a34921881
ReplicatedBackend: take read locks for clone sources during recovery

Otherwise, we run the risk of a clone source which hasn't actually
come into existence yet being used if we grab a clone which *just*
got added the the ssc, but has not yet actually had time to be
created (can't rely on message ordering here since recovery messages
don't necessarily order with client IO!).

Fixes: http://tracker.ceph.com/issues/17831
Signed-off-by: Samuel Just <sjust@redhat.com>
(cherry picked from commit 68defc2b0561414711d4dd0a76bc5d0f46f8a3f8)
src/osd/PGBackend.h
src/osd/PrimaryLogPG.h
src/osd/ReplicatedBackend.cc
src/osd/ReplicatedBackend.h
src/osd/osd_types.h