summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSamuel Just <sam.just@inktank.com>2013-04-19 10:50:43 -0700
committerSamuel Just <sam.just@inktank.com>2013-04-19 17:10:26 -0700
commitb8cb9d7e7b3a0edd55b60c19a0c935129bd091a5 (patch)
tree29ced9db67481eed51a87fce41650341a3911a25
parent75cb55b4e2791ce299cb05fe6ab224b86145a5b6 (diff)
downloadceph-b8cb9d7e7b3a0edd55b60c19a0c935129bd091a5.tar.gz
PG: bail if deleting in _finish_recovery
Signed-off-by: Samuel Just <sam.just@inktank.com>
-rw-r--r--src/osd/PG.cc4
1 files changed, 4 insertions, 0 deletions
diff --git a/src/osd/PG.cc b/src/osd/PG.cc
index a2fdecc89ae..0cc504e265b 100644
--- a/src/osd/PG.cc
+++ b/src/osd/PG.cc
@@ -1980,6 +1980,10 @@ void PG::finish_recovery(list<Context*>& tfin)
void PG::_finish_recovery(Context *c)
{
lock();
+ if (deleting) {
+ unlock();
+ return;
+ }
if (c == finish_sync_event) {
dout(10) << "_finish_recovery" << dendl;
finish_sync_event = 0;