]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
osd/PrimaryLogPG: trim_objects: only filter SnapSet::snaps for pre-octopus
authorSage Weil <sage@redhat.com>
Tue, 11 Jun 2019 18:52:32 +0000 (13:52 -0500)
committerSage Weil <sage@redhat.com>
Tue, 2 Jul 2019 13:37:48 +0000 (08:37 -0500)
For octopus and later, we don't need SnapSet::snaps.

Signed-off-by: Sage Weil <sage@redhat.com>
src/osd/PrimaryLogPG.cc

index eb1eeab046da0051a605df21733a4588568dfe62..021fd4ba1ba8071758e8c81d1287d2500ed20ef8 100644 (file)
@@ -4432,8 +4432,13 @@ int PrimaryLogPG::trim_object(
     head_obc->obs.oi = object_info_t(head_oid);
     t->remove(head_oid);
   } else {
-    dout(10) << coid << " filtering snapset on " << head_oid << dendl;
-    snapset.filter(pool.info);
+    if (get_osdmap()->require_osd_release < ceph_release_t::octopus) {
+      // filter SnapSet::snaps for the benefit of pre-octopus
+      // peers. This is perhaps overly conservative in that I'm not
+      // certain they need this, but let's be conservative here.
+      dout(10) << coid << " filtering snapset on " << head_oid << dendl;
+      snapset.filter(pool.info);
+    }
     dout(10) << coid << " writing updated snapset on " << head_oid
             << ", snapset is " << snapset << dendl;
     ctx->log.push_back(