mon/OSDMonitor: properly set last_force_op_resend in stretch mode
Setting last_force_op_resend but not last_force_op_resend_prenautilus
and last_force_op_resend_preluminous doesn't make sense. The reverse,
such as
last_force_op_resend = 0
last_force_op_resend_prenautilus = 0
last_force_op_resend_preluminous = 20
or
last_force_op_resend = 0
last_force_op_resend_prenautilus = 40
last_force_op_resend_preluminous = 40
is valid in PG split/merge cases (and is the reason prenautilus and
preluminous fields actually exist and aren't just encoding artifacts),
but, if last_force_op_resend is set, both prenautilus and preluminous
fields should really be set to the same value. Otherwise it basically
amounts to "nautilus+ clients need to resend in-flight ops on stretch
mode transitions but pre-nautilus clients don't" which is bogus as it
leaves pre-nautilus clients exposed to the nastiness that necessitated
employing the force resend hammer in the first place in commit
97fbd19ccd02 ("osd: mon: account for stretch bucket configs/changes
when detecting intervals").
Fixes: https://tracker.ceph.com/issues/55158
Signed-off-by: Ilya Dryomov <idryomov@gmail.com>
(cherry picked from commit
609a648e7eba69ee9d1f18685cc5a8e74994a750)