]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commitdiff
messages/MOSDPGScan: encode map_epcoh for query_epoch for pre-nautilus peers 22478/head
authorSage Weil <sage@redhat.com>
Sat, 9 Jun 2018 01:45:08 +0000 (20:45 -0500)
committerSage Weil <sage@redhat.com>
Sat, 9 Jun 2018 01:45:08 +0000 (20:45 -0500)
Pre-nautilus OSDs do not create last_peering_reset reliably (due to not
having the previous commit's fix in place).  Avoid breaking them during
an upgrade by encoding the map_epcoh in place of the query_epoch.

Signed-off-by: Sage Weil <sage@redhat.com>
src/messages/MOSDPGScan.h

index d709e9dd645cd1265c86c1c872a0d1ad7e1c1888..d921d27ea6c202500966a37f98a78b54a7e8afd1 100644 (file)
@@ -74,7 +74,12 @@ public:
     using ceph::encode;
     encode(op, payload);
     encode(map_epoch, payload);
-    encode(query_epoch, payload);
+    if (!HAVE_FEATURE(features, SERVER_NAUTILUS)) {
+      // pre-nautilus OSDs do not set last_peering_reset properly
+      encode(map_epoch, payload);
+    } else {
+      encode(query_epoch, payload);
+    }
     encode(pgid.pgid, payload);
     encode(begin, payload);
     encode(end, payload);