Re: [PATCH v2 1/1] smb: client: Fix hang in smb2_reconnect
From: Rickard x Andersson
Date: Mon Apr 15 2024 - 10:38:08 EST
On 4/13/24 11:02, Steve French wrote:
Shyam and I tried some experiments and there are two cases where the
patch breaks:
1) ChangeNotify will time out
2) Certainly byte range lock calls (they can be allowed to block) will timeout
An obvious alternative would be to not make this change for the
commands like ChangeNotify and blocking locks but allow it for the
others.
Would it make sense to make the patch less intrusive by doing something
like the following?:
@@ -1209,7 +1216,12 @@ compound_send_recv(const unsigned int xid, struct
cifs_ses *ses,
spin_unlock(&ses->ses_lock);
for (i = 0; i < num_rqst; i++) {
- rc = wait_for_response(server, midQ[i]);
+ if (flags == CIFS_NEG_OP) {
+ rc = wait_for_response(server, midQ[i], 50*1000);
+ }
+ else
+ rc = wait_for_response(server, midQ[i], -1);
if (rc != 0)
break;
So, we are just waiting with timeout in the case it is a "CIFS_NEG_OP".
Note that I am not familiar at all with this code base.
Best regards,
Rickard