From: Samuel Just Date: Tue, 3 Jul 2012 16:03:53 +0000 (-0700) Subject: OSD,ReplicatedPG::snap_trimmer: pg->put() in process, not snap_trimmer() X-Git-Tag: v0.50~109^2~2^2~6 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=bdf09f2007c12baa9a4da08b9c62c90e85ba7ce2;p=ceph.git OSD,ReplicatedPG::snap_trimmer: pg->put() in process, not snap_trimmer() This clarifies responsibility for the reference. Signed-off-by: Samuel Just --- diff --git a/src/osd/OSD.h b/src/osd/OSD.h index ca13f4ba6abb..34021ff40113 100644 --- a/src/osd/OSD.h +++ b/src/osd/OSD.h @@ -1045,6 +1045,7 @@ protected: } void _process(PG *pg) { pg->snap_trimmer(); + pg->put(); } void _clear() { osd->snap_trim_queue.clear(); diff --git a/src/osd/ReplicatedPG.cc b/src/osd/ReplicatedPG.cc index b4d5e97d129c..3ba29d6baefc 100644 --- a/src/osd/ReplicatedPG.cc +++ b/src/osd/ReplicatedPG.cc @@ -1424,7 +1424,6 @@ void ReplicatedPG::snap_trimmer() lock(); if (deleting) { unlock(); - put(); return; } dout(10) << "snap_trimmer entry" << dendl; @@ -1434,7 +1433,6 @@ void ReplicatedPG::snap_trimmer() dout(10) << " can't write, requeueing" << dendl; queue_snap_trim(); unlock(); - put(); return; } if (!scrub_block_writes) { @@ -1457,7 +1455,6 @@ void ReplicatedPG::snap_trimmer() queue_snap_trim(); } unlock(); - put(); return; }