On Tue, 2025-10-07 at 22:23 +0200, Martin Wilck wrote: > On Tue, 2025-09-23 at 18:12 -0400, Benjamin Marzinski wrote: > > This patchset handles 4 separate issues: > > 1. The self-preemption workaround for changing keys using REGISTER > > AND > > IGNORE, while the path holding the reservation was down was > > broken > > by a recent commit. > > 2. mpathpersist was failing a RESERVE command issued on a multipath > > device that held a reservation, when the holding path was down. > > Issuing an identical reserve on a device that holds a > > reservation > > is supposed to succeed, and multipathd has enough information to > > know the device is actually holding the reservation. So if > > multipathd says that the device is holding the reservation, it > > should not fail, even if the path holding the reservation is > > down. > > 3. mpathpersist was not clearing the reservation when the key > > holding > > it was unregistered, if the path holding the reservation was > > down. > > 4. When unregistering a key that holds a reservation, depending on > > the > > order that the paths got unregistered, there was a window where > > IO going to the device could fail. This should not happen > > because > > the reservation should be removed and the key should be > > unregistered > > atomically. > > > > Benjamin Marzinski (4): > > libmpathpersist: Fix REGISTER AND IGNORE while holding a > > reservation > > libmpathpersist: Handle RESERVE with reservation held by failed > > path > > libmpathpersist: use check_holding_reservation in mpath_prout_rel > > libmpathpersist: Fix unregistering while holding the reservation > > > > libmpathpersist/mpath_persist_int.c | 199 +++++++++++++++++------- > > -- > > -- > > 1 file changed, 125 insertions(+), 74 deletions(-) > > For the series: > Reviewed-by: Martin Wilck <[email protected]>
Nope. I meant to reply to the V2. Sorry.
