Loading fs/cifs/transport.c +13 −9 Original line number Diff line number Diff line Loading @@ -185,7 +185,8 @@ smb_send(struct socket *ssocket, struct smb_hdr *smb_buffer, int smb_sendv(struct socket *ssocket, struct smb_hdr *smb_buffer, unsigned int smb_buf_length, struct kvec * write_vector /* page list */, struct sockaddr *sin) unsigned int smb_buf_length, struct kvec * write_vector /* page list */, struct sockaddr *sin) { int rc = 0; int i = 0; Loading Loading @@ -215,7 +216,8 @@ smb_sendv(struct socket *ssocket, struct smb_hdr *smb_buffer, dump_smb(smb_buffer, len); while (len > 0) { rc = kernel_sendmsg(ssocket, &smb_msg, &iov, number_of_pages, len?); rc = kernel_sendmsg(ssocket, &smb_msg, &iov, number_of_pages, len); if ((rc == -ENOSPC) || (rc == -EAGAIN)) { i++; if(i > 60) { Loading Loading @@ -351,7 +353,8 @@ CIFSSendRcv(const unsigned int xid, struct cifsSesInfo *ses, rc = cifs_sign_smb(in_buf, ses->server, &midQ->sequence_number); midQ->midState = MID_REQUEST_SUBMITTED; /* rc = smb_sendv(ses->server->ssocket, in_buf, in_buf->smb_buf_length, piovec, /* rc = smb_sendv(ses->server->ssocket, in_buf, in_buf->smb_buf_length, piovec, (struct sockaddr *) &(ses->server->addr.sockAddr));*/ if(rc < 0) { DeleteMidQEntry(midQ); Loading Loading @@ -407,7 +410,8 @@ SendReceive(const unsigned int xid, struct cifsSesInfo *ses, } else { spin_lock(&GlobalMid_Lock); while(1) { if(atomic_read(&ses->server->inFlight) >= cifs_max_pending){ if(atomic_read(&ses->server->inFlight) >= cifs_max_pending){ spin_unlock(&GlobalMid_Lock); wait_event(ses->server->request_q, atomic_read(&ses->server->inFlight) Loading Loading @@ -495,7 +499,7 @@ SendReceive(const unsigned int xid, struct cifsSesInfo *ses, up(&ses->server->tcpSem); if (long_op == -1) goto cifs_no_response_exit; else if (long_op == 2) /* writes past end of file can take looooong time */ else if (long_op == 2) /* writes past end of file can take loong time */ timeout = 300 * HZ; else if (long_op == 1) timeout = 45 * HZ; /* should be greater than Loading Loading @@ -582,8 +586,8 @@ SendReceive(const unsigned int xid, struct cifsSesInfo *ses, ses->server->mac_signing_key, midQ->sequence_number+1); if(rc) { cERROR(1,("Unexpected packet signature received from server")); /* BB FIXME - add code to kill session here */ cERROR(1,("Unexpected SMB signature")); /* BB FIXME add code to kill session */ } } Loading Loading
fs/cifs/transport.c +13 −9 Original line number Diff line number Diff line Loading @@ -185,7 +185,8 @@ smb_send(struct socket *ssocket, struct smb_hdr *smb_buffer, int smb_sendv(struct socket *ssocket, struct smb_hdr *smb_buffer, unsigned int smb_buf_length, struct kvec * write_vector /* page list */, struct sockaddr *sin) unsigned int smb_buf_length, struct kvec * write_vector /* page list */, struct sockaddr *sin) { int rc = 0; int i = 0; Loading Loading @@ -215,7 +216,8 @@ smb_sendv(struct socket *ssocket, struct smb_hdr *smb_buffer, dump_smb(smb_buffer, len); while (len > 0) { rc = kernel_sendmsg(ssocket, &smb_msg, &iov, number_of_pages, len?); rc = kernel_sendmsg(ssocket, &smb_msg, &iov, number_of_pages, len); if ((rc == -ENOSPC) || (rc == -EAGAIN)) { i++; if(i > 60) { Loading Loading @@ -351,7 +353,8 @@ CIFSSendRcv(const unsigned int xid, struct cifsSesInfo *ses, rc = cifs_sign_smb(in_buf, ses->server, &midQ->sequence_number); midQ->midState = MID_REQUEST_SUBMITTED; /* rc = smb_sendv(ses->server->ssocket, in_buf, in_buf->smb_buf_length, piovec, /* rc = smb_sendv(ses->server->ssocket, in_buf, in_buf->smb_buf_length, piovec, (struct sockaddr *) &(ses->server->addr.sockAddr));*/ if(rc < 0) { DeleteMidQEntry(midQ); Loading Loading @@ -407,7 +410,8 @@ SendReceive(const unsigned int xid, struct cifsSesInfo *ses, } else { spin_lock(&GlobalMid_Lock); while(1) { if(atomic_read(&ses->server->inFlight) >= cifs_max_pending){ if(atomic_read(&ses->server->inFlight) >= cifs_max_pending){ spin_unlock(&GlobalMid_Lock); wait_event(ses->server->request_q, atomic_read(&ses->server->inFlight) Loading Loading @@ -495,7 +499,7 @@ SendReceive(const unsigned int xid, struct cifsSesInfo *ses, up(&ses->server->tcpSem); if (long_op == -1) goto cifs_no_response_exit; else if (long_op == 2) /* writes past end of file can take looooong time */ else if (long_op == 2) /* writes past end of file can take loong time */ timeout = 300 * HZ; else if (long_op == 1) timeout = 45 * HZ; /* should be greater than Loading Loading @@ -582,8 +586,8 @@ SendReceive(const unsigned int xid, struct cifsSesInfo *ses, ses->server->mac_signing_key, midQ->sequence_number+1); if(rc) { cERROR(1,("Unexpected packet signature received from server")); /* BB FIXME - add code to kill session here */ cERROR(1,("Unexpected SMB signature")); /* BB FIXME add code to kill session */ } } Loading