lkml.org 
[lkml]   [2004]   [Jun]   [28]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
From
Date
SubjectRe: PROBLEM: Oops, nfsd, networking
On Monday June 28, bvaughan@mindspring.com wrote:
> NFSD crash at large MTU and odd wsize/rsize.
>

Thanks for the report. It is very odd.
It seems to be crashing in fs/nfsd/nfs3xdrc.:nfs3svc_decode_writeargs
at:

while (len > args->vec[v].iov_len) {
len -= args->vec[v].iov_len;
v++;
args->vec[v].iov_base = page_address(rqstp->rq_argpages[v]);
args->vec[v].iov_len = PAGE_SIZE;
}

It looks like rqstp->rq_argpages[v] is NULL, and that is causing the
oops.
Obviously, that shouldn't happen :-)

Would you be able to change that code to:
while (len > args->vec[v].iov_len) {
len -= args->vec[v].iov_len;
v++;
if (rqstp->rq_argpages[v] == NULL) {
printk("NULL page at %d, c=%d al=%d l=%d pl=%d\n",
v, args->count, args->len, len, rqstp->rq_arg.len);
BUG();
}
args->vec[v].iov_base = page_address(rqstp->rq_argpages[v]);
args->vec[v].iov_len = PAGE_SIZE;
}

(i.e. add the if() { printk..} bit).
and tell me what gets printed out?

Thanks,
NeilBrown
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/

\
 
 \ /
  Last update: 2005-03-22 14:04    [W:0.059 / U:0.320 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site