Re: [PATCH] nfsd: fix race to check ls_layouts

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Fri, 2023-01-27 at 11:42 -0500, Benjamin Coddington wrote:
> On 27 Jan 2023, at 11:34, Chuck Lever III wrote:
> 
> > > On Jan 27, 2023, at 11:18 AM, Benjamin Coddington <bcodding@xxxxxxxxxx> wrote:
> > > 
> > > Its possible for __break_lease to find the layout's lease before we've
> > > added the layout to the owner's ls_layouts list.  In that case, setting
> > > ls_recalled = true without actually recalling the layout will cause the
> > > server to never send a recall callback.
> > > 
> > > Move the check for ls_layouts before setting ls_recalled.
> > > 
> > > Signed-off-by: Benjamin Coddington <bcodding@xxxxxxxxxx>
> > 
> > Did this start misbehaving recently, or has it always been broken?
> > That is, does it need:
> > 
> > Fixes: c5c707f96fc9 ("nfsd: implement pNFS layout recalls") ?
> 
> I'm doing some new testing of racing LAYOUTGET and CB_LAYOUTRETURN after
> running into a livelock, so I think it has always been broken and the Fixes
> tag is probably appropriate.
> 
> However, now I'm wondering if we'd run into trouble if ls_layouts could be
> empty but the lease still exist..  but that seems like it would be a
> different bug.
> 

Yeah, is that even possible? Surely once the last layout is gone, we
drop the stateid? In any case, this patch looks fine. You can add:

Reviewed-by: Jeff Layton <jlayton@xxxxxxxxxx>




[Index of Archives]     [Linux Filesystem Development]     [Linux USB Development]     [Linux Media Development]     [Video for Linux]     [Linux NILFS]     [Linux Audio Users]     [Yosemite Info]     [Linux SCSI]

  Powered by Linux