From b84fa91368247cfdf70d57432015f36cd9678ca6 Mon Sep 17 00:00:00 2001 From: Sage Weil Date: Wed, 19 Sep 2018 14:01:51 -0500 Subject: [PATCH] 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 --- src/mon/OSDMonitor.cc | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/mon/OSDMonitor.cc b/src/mon/OSDMonitor.cc index 9bb6f7e2bf432..a6274f078a115 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) { -- 2.39.5