Hello,
I've solved the problem that NFS over TCP doesn't work on linux-2.5.43.
Could you apply it?
--- linux-2.5.43/net/sunrpc/svcsock.c.ORG Thu Oct 17 14:10:43 2030
+++ linux-2.5.43/net/sunrpc/svcsock.c Thu Oct 17 21:46:56 2030
@@ -891,8 +891,8 @@ svc_tcp_recvfrom(struct svc_rqst *rqstp)
rqstp->rq_skbuff = 0;
rqstp->rq_argbuf.buf += 1;
- rqstp->rq_argbuf.len = (len >> 2);
- rqstp->rq_argbuf.buflen = (len >> 2);
+ rqstp->rq_argbuf.len = (len >> 2) + 1;
+ rqstp->rq_argbuf.buflen = (len >> 2) + 1;
rqstp->rq_prot = IPPROTO_TCP;
/* Reset TCP read info */
-------------------------------------------------------
This sf.net email is sponsored by: viaVerio will pay you up to
$1,000 for every account that you consolidate with us.
http://ad.doubleclick.net/clk;4749864;7604308;v?
http://www.viaverio.com/consolidator/osdn.cfm
_______________________________________________
NFS maillist - [email protected]
https://lists.sourceforge.net/lists/listinfo/nfs
Hello,
I found another problem that argbuf and resbuf may be overlapped.
We should throw away previous one and apply a new patch.
> I've solved the problem that NFS over TCP doesn't work on linux-2.5.43.
> Could you apply it?
And I realize these new manner of handling argbuf and resbuf will
conflict with my zerocopy patches.
I'll port them again linux2.5.34 soon.
--- linux/net/sunrpc/svcsock.c.ORG Thu Oct 17 14:10:43 2030
+++ linux/net/sunrpc/svcsock.c Fri Oct 18 11:20:27 2030
@@ -882,17 +882,18 @@ svc_tcp_recvfrom(struct svc_rqst *rqstp)
dprintk("svc: TCP complete record (%d bytes)\n", len);
+ rqstp->rq_skbuff = 0;
+ rqstp->rq_argbuf.buf += 1;
+ rqstp->rq_argbuf.len = (len >> 2) + 1;
+ rqstp->rq_argbuf.buflen = (len >> 2) + 1;
+
/* Position reply write pointer immediately args,
* allowing for record length */
- rqstp->rq_resbuf.base = rqstp->rq_argbuf.base + (len>>2);
- rqstp->rq_resbuf.buf = rqstp->rq_resbuf.base + 1;
- rqstp->rq_resbuf.len = 1;
- rqstp->rq_resbuf.buflen= rqstp->rq_argbuf.buflen - (len>>2) - 1;
+ rqstp->rq_resbuf.base += rqstp->rq_argbuf.buflen;
+ rqstp->rq_resbuf.buf = rqstp->rq_resbuf.base + 1;
+ rqstp->rq_resbuf.len = 1;
+ rqstp->rq_resbuf.buflen -= rqstp->rq_argbuf.buflen;
- rqstp->rq_skbuff = 0;
- rqstp->rq_argbuf.buf += 1;
- rqstp->rq_argbuf.len = (len >> 2);
- rqstp->rq_argbuf.buflen = (len >> 2);
rqstp->rq_prot = IPPROTO_TCP;
/* Reset TCP read info */
-------------------------------------------------------
This sf.net email is sponsored by: viaVerio will pay you up to
$1,000 for every account that you consolidate with us.
http://ad.doubleclick.net/clk;4749864;7604308;v?
http://www.viaverio.com/consolidator/osdn.cfm
_______________________________________________
NFS maillist - [email protected]
https://lists.sourceforge.net/lists/listinfo/nfs