Fixes problem (discovered by Aurelien) introduced by recent commit: commit b24df3e30cbf48255db866720fb71f14bf9d2f39 ("cifs: update receive_encrypted_standard to handle compounded responses") which broke the ability to respond to some lease breaks (lease breaks being ignored is a problem since can block server response for duration of the lease break timeout). Signed-off-by: Steve French <stfrench@xxxxxxxxxxxxx> --- fs/cifs/connect.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/fs/cifs/connect.c b/fs/cifs/connect.c index f765b20985cd..4307d635bc5d 100644 --- a/fs/cifs/connect.c +++ b/fs/cifs/connect.c @@ -969,6 +969,9 @@ cifs_demultiplex_thread(void *p) server->lstrp = jiffies; + if ((num_mids == 0) && (server->ops->is_oplock_break)) + server->ops->is_oplock_break(bufs[0], server); + for (i = 0; i < num_mids; i++) { if (mids[i] != NULL) { mids[i]->resp_buf_size = server->pdu_size; -- 2.17.1 -- Thanks, Steve
From 74b3197a7431f6f9bbbbbdc193d882d3564f7e72 Mon Sep 17 00:00:00 2001 From: Steve French <stfrench@xxxxxxxxxxxxx> Date: Fri, 28 Sep 2018 02:11:43 -0500 Subject: [PATCH] smb3: fix lease break problem introducted by compounding Fixes problem introduced by recent commit: commit b24df3e30cbf48255db866720fb71f14bf9d2f39 ("cifs: update receive_encrypted_standard to handle compounded responses") which broke the ability to respond to some lease breaks (lease breaks being ignored is a problem since can block server response for duration of the lease break timeout). Signed-off-by: Steve French <stfrench@xxxxxxxxxxxxx> --- fs/cifs/connect.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/fs/cifs/connect.c b/fs/cifs/connect.c index f765b20985cd..4307d635bc5d 100644 --- a/fs/cifs/connect.c +++ b/fs/cifs/connect.c @@ -969,6 +969,9 @@ cifs_demultiplex_thread(void *p) server->lstrp = jiffies; + if ((num_mids == 0) && (server->ops->is_oplock_break)) + server->ops->is_oplock_break(bufs[0], server); + for (i = 0; i < num_mids; i++) { if (mids[i] != NULL) { mids[i]->resp_buf_size = server->pdu_size; -- 2.17.1