]> git.apps.os.sepia.ceph.com Git - ceph-ci.git/commitdiff
mon/OSDMonitor: resent pre-nautilus client ops on aborted merge
authorSage Weil <sage@redhat.com>
Wed, 19 Sep 2018 19:01:51 +0000 (14:01 -0500)
committerSage Weil <sage@redhat.com>
Tue, 16 Oct 2018 12:22:48 +0000 (07:22 -0500)
If we are in premerge (pg_num_pending == pg_num - 1) and abort by
increasing pg_num, we the last_force_op_resend_prenautilus since it will
be an interval change for nautlius+.

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

index 9bb6f7e2bf4328286c63f6df6a43f17b89158f6f..a6274f078a11518dcae485adbd7f49f0c0638294 100644 (file)
@@ -6918,6 +6918,11 @@ int OSDMonitor::prepare_command_pool_set(const cmdmap_t& cmdmap,
       return -EBUSY;
     }
     if (n > (int)p.get_pg_num()) {
+      if (p.get_pg_num() != p.get_pg_num_pending()) {
+       // force pre-nautilus clients to resend their ops, since they
+       // don't understand pg_num_pending changes form a new interval
+       p.last_force_op_resend_prenautilus = pending_inc.epoch;
+      }
       p.set_pg_num(n);
     } else {
       if (osdmap.require_osd_release < CEPH_RELEASE_NAUTILUS) {