Re: [PATCH v2 1/1] smb: client: Fix hang in smb2_reconnect

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

 



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




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

  Powered by Linux