RE: [EXTERNAL] Re: [PATCH] cifs: fix interrupted close commands
From: Pavel Shilovskiy <hidden>
Date: 2021-01-14 17:24:10
Also in:
stable
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 <redacted> Sent: Wednesday, January 13, 2021 11:33 PM To: Pavel Shilovsky <redacted> Cc: pc <redacted>; linux-cifs <redacted>; Steve French <smfrench@gmail.com>; Aurelien Aptel <redacted>; Duncan Findlay <redacted>; Pavel Shilovskiy <redacted>; Stable <redacted> 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 [off-list ref] wrote:
ср, 13 янв. 2021 г. в 09:16, Paulo Alcantara [off-list ref]:quoted
Retry close command if it gets interrupted to not leak open handles on the server. Signed-off-by: Paulo Alcantara (SUSE) <redacted> Reported-by: Duncan Findlay <redacted> Suggested-by: Pavel Shilovsky <redacted> Fixes: 6988a619f5b7 ("cifs: allow syscalls to be restarted in __smb_send_rqst()") Cc: stable@vger.kernel.org --- fs/cifs/smb2pdu.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)diff --git a/fs/cifs/smb2pdu.c b/fs/cifs/smb2pdu.c index067eb44c7baa..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.2Thanks for the fix! Reviewed-by: Pavel Shilovsky <redacted> -- Best regards, Pavel Shilovsky
-- -Shyam