From 4f891d6c6ada6ed502cb23b9d6004b8002c98fbd Mon Sep 17 00:00:00 2001 From: Samuel Just Date: Fri, 4 May 2012 13:31:30 -0700 Subject: PG: handle case where purged_snaps contains a snap not in snap_trimq Signed-off-by: Samuel Just --- src/osd/PG.cc | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/osd/PG.cc b/src/osd/PG.cc index 3879fa08414..87141144a34 100644 --- a/src/osd/PG.cc +++ b/src/osd/PG.cc @@ -1236,7 +1236,9 @@ void PG::activate(ObjectStore::Transaction& t, list& tfin, // initialize snap_trimq if (is_primary()) { snap_trimq = pool->cached_removed_snaps; - snap_trimq.subtract(info.purged_snaps); + interval_set intersect; + intersect.intersection_of(snap_trimq, info.purged_snaps); + snap_trimq.subtract(intersect); dout(10) << "activate - snap_trimq " << snap_trimq << dendl; if (!snap_trimq.empty() && is_clean()) queue_snap_trim(); -- cgit v1.2.1