]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
ReplicatedPG: snap_trimmer work around
authorSamuel Just <samuelj@hq.newdream.net>
Wed, 12 Jan 2011 20:07:44 +0000 (12:07 -0800)
committerSamuel Just <samuelj@hq.newdream.net>
Wed, 12 Jan 2011 20:07:44 +0000 (12:07 -0800)
Currently, an OSD bug is causing snap_trimq to contain some snaps
already in purged_snaps.  This work around should let kvmtest
come back up.  A real fix is still needed.

Signed-off-by: Samuel Just <samuelj@hq.newdream.net>
src/osd/ReplicatedPG.cc

index 8c47fe3a801135ae5f05fbe575a9f15247ab87d0..9a1dbc26368b61f8291175c8276264d95941af1e 100644 (file)
@@ -528,6 +528,15 @@ bool ReplicatedPG::snap_trimmer()
   lock();
   dout(10) << "snap_trimmer start, purged_snaps " << info.purged_snaps << dendl;
 
+  interval_set<snapid_t> s;
+  s.intersection_of(snap_trimq, info.purged_snaps);
+  if (!s.empty()) {
+    dout(0) << "WARNING - snap_trimmer: snap_trimq contained snaps already in "
+           << "purged_snaps" << dendl;
+    snap_trimq.subtract(s);
+  }
+
+
   epoch_t current_set_started = info.history.last_epoch_started;
 
   while (snap_trimq.size() &&