]> git.apps.os.sepia.ceph.com Git - ceph.git/commit
OSD::RemoveWQ: do not apply_transaction while blocking _try_resurrect_pg
authorSamuel Just <sam.just@inktank.com>
Fri, 19 Jul 2013 22:56:52 +0000 (15:56 -0700)
committerSamuel Just <sam.just@inktank.com>
Mon, 22 Jul 2013 17:31:31 +0000 (10:31 -0700)
commitd28c18da9dd905316a30267305f0a5d656e65ec4
tree59aefd1d3fb345bbead0a311ac5dec4fb576e511
parent6c4cd22e608efc593228c02529077667ec01ec16
OSD::RemoveWQ: do not apply_transaction while blocking _try_resurrect_pg

Some callbacks take the osd lock, so we need to avoid blocking an
osd lock holding thread while waiting on a filestore callback.
Instead, just queue the transaction, and allow _try_resurrect_pg
to cancel us while we are waiting for the transaction to go through
(CLEARING_WAITING).

Fixes: #5672
Signed-off-by: Samuel Just <sam.just@inktank.com>
Reviewed-by: Sage Weil <sage@inktank.com>
src/osd/OSD.cc
src/osd/OSD.h