From 3f094f7b70c5aafa4c366f84ebefc2d96c6969d7 Mon Sep 17 00:00:00 2001 From: Sage Weil Date: Thu, 1 Apr 2010 07:27:59 -0700 Subject: [PATCH] osd: fix snap trimmer SnapSet adjustment AFAICS it's totally wrong? --- src/osd/ReplicatedPG.cc | 11 +++-------- 1 file changed, 3 insertions(+), 8 deletions(-) diff --git a/src/osd/ReplicatedPG.cc b/src/osd/ReplicatedPG.cc index fd36737b353a4..f171f6bfc756f 100644 --- a/src/osd/ReplicatedPG.cc +++ b/src/osd/ReplicatedPG.cc @@ -759,17 +759,12 @@ bool ReplicatedPG::snap_trimmer() dout(10) << coid << " snaps " << snaps << " old snapset " << snapset << dendl; - // remove snaps + // trim clone's snaps vector newsnaps; for (unsigned i=0; i_lookup_pool(info.pgid.pool())->info.is_removed_snap(snaps[i])) newsnaps.push_back(snaps[i]); - else { - vector::iterator q = snapset.snaps.begin(); - while (*q != snaps[i]) - q++; // it should be in there - snapset.snaps.erase(q); - } + if (newsnaps.empty()) { // remove clone dout(10) << coid << " snaps " << snaps << " -> " << newsnaps << " ... deleting" << dendl; @@ -1621,7 +1616,7 @@ void ReplicatedPG::make_writeable(OpContext *ctx) // update snapset with latest snap context ssc->snapset.seq = snapc.seq; ssc->snapset.snaps = snapc.snaps; - dout(20) << "make_writeable " << soid << " done" << dendl; + dout(20) << "make_writeable " << soid << " done, snapset=" << ssc->snapset << dendl; } -- 2.39.5