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 <sage@redhat.com>
This commit is contained in:
Sage Weil 2018-09-19 14:01:51 -05:00
parent 48412ce4e4
commit b84fa91368

View 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) {