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.

Reply via email to