RE: [EXTERNAL] Re: [PATCH] cifs: fix interrupted close commands

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

 



Hi Shyam,

Is_interrupt_error contains a list of errors that correspond to interrupted requests that haven't made it to the server.

Best regards,
Pavel Shilovsky

-----Original Message-----
From: Shyam Prasad N <nspmangalore@xxxxxxxxx> 
Sent: Wednesday, January 13, 2021 11:33 PM
To: Pavel Shilovsky <piastryyy@xxxxxxxxx>
Cc: pc <pc@xxxxxx>; linux-cifs <linux-cifs@xxxxxxxxxxxxxxx>; Steve French <smfrench@xxxxxxxxx>; Aurelien Aptel <aaptel@xxxxxxxx>; Duncan Findlay <duncf@xxxxxxxx>; Pavel Shilovskiy <pshilov@xxxxxxxxxxxxx>; Stable <stable@xxxxxxxxxxxxxxx>
Subject: [EXTERNAL] Re: [PATCH] cifs: fix interrupted close commands

Hi Paulo,

Does is_interrupt_error contain a list of all errors for which server can leave the file handle open?
What about EAGAIN? I see that the server error STATUS_RETRY maps to EAGAIN.

Regards,
Shyam

On Thu, Jan 14, 2021 at 12:01 AM Pavel Shilovsky <piastryyy@xxxxxxxxx> wrote:
>
> ср, 13 янв. 2021 г. в 09:16, Paulo Alcantara <pc@xxxxxx>:
> >
> > Retry close command if it gets interrupted to not leak open handles 
> > on the server.
> >
> > Signed-off-by: Paulo Alcantara (SUSE) <pc@xxxxxx>
> > Reported-by: Duncan Findlay <duncf@xxxxxxxx>
> > Suggested-by: Pavel Shilovsky <pshilov@xxxxxxxxxxxxx>
> > Fixes: 6988a619f5b7 ("cifs: allow syscalls to be restarted in 
> > __smb_send_rqst()")
> > Cc: stable@xxxxxxxxxxxxxxx
> > ---
> >  fs/cifs/smb2pdu.c | 2 +-
> >  1 file changed, 1 insertion(+), 1 deletion(-)
> >
> > diff --git a/fs/cifs/smb2pdu.c b/fs/cifs/smb2pdu.c index 
> > 067eb44c7baa..794fc3b68b4f 100644
> > --- a/fs/cifs/smb2pdu.c
> > +++ b/fs/cifs/smb2pdu.c
> > @@ -3248,7 +3248,7 @@ __SMB2_close(const unsigned int xid, struct cifs_tcon *tcon,
> >         free_rsp_buf(resp_buftype, rsp);
> >
> >         /* retry close in a worker thread if this one is interrupted */
> > -       if (rc == -EINTR) {
> > +       if (is_interrupt_error(rc)) {
> >                 int tmp_rc;
> >
> >                 tmp_rc = smb2_handle_cancelled_close(tcon, 
> > persistent_fid,
> > --
> > 2.29.2
> >
>
> Thanks for the fix!
>
> Reviewed-by: Pavel Shilovsky <pshilov@xxxxxxxxxxxxx>
>
> --
> Best regards,
> Pavel Shilovsky



--
-Shyam




[Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux