[CIFS] cifs send2 not retrying enough in some cases on full socket
authorShirish Pargaonkar <shirishp@us.ibm.com>
Tue, 29 Jul 2008 21:26:13 +0000 (21:26 +0000)
committerSteve French <sfrench@us.ibm.com>
Tue, 29 Jul 2008 21:26:13 +0000 (21:26 +0000)
There are cases in which, on a full socket which requires retry on
sending data by the app (cifs in this case), that we were not
retrying since we did not reinitialize a counter.

This fixes the retry logic to retry up to 15 seconds on stuck
sockets.

Signed-off-by: Shirish Pargaonkar <shirishp@us.ibm.com>
Signed-off-by: Steve French <sfrench@us.ibm.com>

fs/cifs/transport.c

index 000ac50..e286db9 100644 (file)
@@ -265,6 +265,7 @@ smb_send2(struct socket *ssocket, struct kvec *iov, int n_vec,
        cFYI(1, ("Sending smb:  total_len %d", total_len));
        dump_smb(smb_buffer, len);
 
+       i = 0;
        while (total_len) {
                rc = kernel_sendmsg(ssocket, &smb_msg, &iov[first_vec],
                                    n_vec - first_vec, total_len);