From: Sage Weil Date: Wed, 19 Sep 2018 19:01:51 +0000 (-0500) Subject: mon/OSDMonitor: resent pre-nautilus client ops on aborted merge X-Git-Tag: v14.1.0~1136^2~14 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=b84fa91368247cfdf70d57432015f36cd9678ca6;p=ceph.git mon/OSDMonitor: resent pre-nautilus client ops on aborted merge 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 --- diff --git a/src/mon/OSDMonitor.cc b/src/mon/OSDMonitor.cc index 9bb6f7e2bf4..a6274f078a1 100644 --- a/src/mon/OSDMonitor.cc +++ b/src/mon/OSDMonitor.cc @@ -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) {