Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 24973
b: refs/heads/master
c: 4b8f930
h: refs/heads/master
i:
  24971: e94b27c
v: v3
  • Loading branch information
Steve French committed Feb 26, 2006
1 parent 2c900de commit 353877c
Show file tree
Hide file tree
Showing 4 changed files with 19 additions and 14 deletions.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: 184ed2110ae6bfdb8dc91085149f04f2f4d2169e
refs/heads/master: 4b8f930ff83aaed39fd5f935aeacc25f2549a51e
6 changes: 3 additions & 3 deletions trunk/fs/cifs/cifssmb.c
Original file line number Diff line number Diff line change
Expand Up @@ -1070,7 +1070,7 @@ CIFSSMBRead(const int xid, struct cifsTconInfo *tcon,
}
}

cifs_small_buf_release(pSMB);
/* cifs_small_buf_release(pSMB); */ /* Freed earlier now in SendReceive2 */
if(*buf) {
if(resp_buf_type == CIFS_SMALL_BUFFER)
cifs_small_buf_release(iov[0].iov_base);
Expand Down Expand Up @@ -1274,7 +1274,7 @@ CIFSSMBWrite2(const int xid, struct cifsTconInfo *tcon,
*nbytes += le16_to_cpu(pSMBr->Count);
}

cifs_small_buf_release(pSMB);
/* cifs_small_buf_release(pSMB); */ /* Freed earlier now in SendReceive2 */
if(resp_buf_type == CIFS_SMALL_BUFFER)
cifs_small_buf_release(iov[0].iov_base);
else if(resp_buf_type == CIFS_LARGE_BUFFER)
Expand Down Expand Up @@ -2606,7 +2606,7 @@ CIFSSMBGetCIFSACL(const int xid, struct cifsTconInfo *tcon, __u16 fid,
cifs_small_buf_release(iov[0].iov_base);
else if(buf_type == CIFS_LARGE_BUFFER)
cifs_buf_release(iov[0].iov_base);
cifs_small_buf_release(pSMB);
/* cifs_small_buf_release(pSMB); */ /* Freed earlier now in SendReceive2 */
return rc;
}

Expand Down
3 changes: 1 addition & 2 deletions trunk/fs/cifs/ntlmssp.c
Original file line number Diff line number Diff line change
Expand Up @@ -122,8 +122,7 @@ CIFS_SessSetup(unsigned int xid, struct cifsSesInfo *ses, const int type,


/* rc = SendReceive2(xid, ses, iov, num_iovecs, &resp_buf_type, 0); */

cifs_small_buf_release(smb_buffer);
/* SMB request buf freed in SendReceive2 */

return rc;
}
Expand Down
22 changes: 14 additions & 8 deletions trunk/fs/cifs/transport.c
Original file line number Diff line number Diff line change
Expand Up @@ -309,17 +309,16 @@ SendReceive2(const unsigned int xid, struct cifsSesInfo *ses,

*pRespBufType = CIFS_NO_BUFFER; /* no response buf yet */

if (ses == NULL) {
cERROR(1,("Null smb session"));
return -EIO;
}
if(ses->server == NULL) {
cERROR(1,("Null tcp session"));
if ((ses == NULL) || (ses->server == NULL)) {
cifs_small_buf_release(in_buf);
cERROR(1,("Null session"));
return -EIO;
}

if(ses->server->tcpStatus == CifsExiting)
if(ses->server->tcpStatus == CifsExiting) {
cifs_small_buf_release(in_buf);
return -ENOENT;
}

/* Ensure that we do not send more than 50 overlapping requests
to the same server. We may make this configurable later or
Expand All @@ -346,6 +345,7 @@ SendReceive2(const unsigned int xid, struct cifsSesInfo *ses,
} else {
if(ses->server->tcpStatus == CifsExiting) {
spin_unlock(&GlobalMid_Lock);
cifs_small_buf_release(in_buf);
return -ENOENT;
}

Expand Down Expand Up @@ -385,6 +385,7 @@ SendReceive2(const unsigned int xid, struct cifsSesInfo *ses,
midQ = AllocMidQEntry(in_buf, ses);
if (midQ == NULL) {
up(&ses->server->tcpSem);
cifs_small_buf_release(in_buf);
/* If not lock req, update # of requests on wire to server */
if(long_op < 3) {
atomic_dec(&ses->server->inFlight);
Expand All @@ -408,14 +409,18 @@ SendReceive2(const unsigned int xid, struct cifsSesInfo *ses,
if(rc < 0) {
DeleteMidQEntry(midQ);
up(&ses->server->tcpSem);
cifs_small_buf_release(in_buf);
/* If not lock req, update # of requests on wire to server */
if(long_op < 3) {
atomic_dec(&ses->server->inFlight);
wake_up(&ses->server->request_q);
}
return rc;
} else
} else {
up(&ses->server->tcpSem);
cifs_small_buf_release(in_buf);
}

if (long_op == -1)
goto cifs_no_response_exit2;
else if (long_op == 2) /* writes past end of file can take loong time */
Expand Down Expand Up @@ -543,6 +548,7 @@ SendReceive2(const unsigned int xid, struct cifsSesInfo *ses,

out_unlock2:
up(&ses->server->tcpSem);
cifs_small_buf_release(in_buf);
/* If not lock req, update # of requests on wire to server */
if(long_op < 3) {
atomic_dec(&ses->server->inFlight);
Expand Down

0 comments on commit 353877c

Please sign in to comment.