]> git.apps.os.sepia.ceph.com Git - ceph-ci.git/commit
osd: no osd_lock for finish_splits
authorSage Weil <sage@redhat.com>
Tue, 31 Jul 2018 21:54:26 +0000 (16:54 -0500)
committerSage Weil <sage@redhat.com>
Fri, 7 Sep 2018 17:09:05 +0000 (12:09 -0500)
commit45a556ad7dbf3fb8963b734de931cdb60ce09d0a
tree234c98578852b342e179ad1d8a182b3aff50f541
parent0a12da0e178c8a0218e3c6937b9272c67163cb9a
osd: no osd_lock for finish_splits

This used to protect the pg registration probably?  There is no need for
it now.

More importantly, having it here can cause a deadlock when we are holding
osd_lock and blocking on wait_min_pg_epoch(), because a PG may need to
finish splitting to advance and then merge with a peer.  (The wait won't
block on *this* PG since it isn't registered in the shard yet, but it
will block on the merge peer.)

Signed-off-by: Sage Weil <sage@redhat.com>
src/osd/OSD.cc