diff options
Diffstat (limited to 'src/osd/PG.cc')
-rw-r--r-- | src/osd/PG.cc | 4 |
1 files changed, 3 insertions, 1 deletions
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<Context*>& tfin, // initialize snap_trimq if (is_primary()) { snap_trimq = pool->cached_removed_snaps; - snap_trimq.subtract(info.purged_snaps); + interval_set<snapid_t> 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(); |