lkml.org 
[lkml]   [1999]   [Jan]   [5]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: NFS over TCP

Hi,

I seem to have found another problem a bit worse than the one you mention
Alan, my Linux client is 2.2.0-pre4 and I have a Solaris 2.6 + recommended
patches Sun workstation server,

I do a TCP mount

mount -t nfs -o tcp,nolock oak:/foo /foo

I then do a

cd /foo ; find .

It works for a while and then the process hangs in rpc_execute,
I've switched on rpc_debug, and I think I have tracked down a problem when
the server sends me a RPC packet bigger than 1440,

I've attached two files 205.txt and 206.txt these are two RPC traces one
after the other, the 205 seems to succeed (it does the same as all the
previous ones, but the 206 with the 3556 bytes cause problems, the system
keeps trying to do some sort of resend on it but never gets a reply ..

I'm going to have a dig around and see if I can see what might be wrong,

Dave.

--
------------ David Airlie, David.Airlie@ul.ie,airlied@skynet --------
Telecommunications Research Centre, ECE Dept, University of Limerick \
http://www.csn.ul.ie/~airlied -- Telecommunications Researcher \
--- TEL: +353-61-202695 -----------------------------------------------

On Sat, 2 Jan 1999, Alan Cox wrote:

> > I've just noticed the NFS over TCP is a listed bug, has anyone any
> > pointers on what may be wrong i.e. is it a big job or is it something
> > that somebody knows but just doesn't have time to fix??
> >
> > Could you please cc me on replies as I'm having flaky access to my list
> > mail a/c,
>
> If you try it you'll find it works fine until a write from the linux client
> is too big to do in one go , the client then adjusts for the partial write
> but when the socket layer calls back and says "more room" it doesnt
> for some reason wake up the rpc to continue the write - the timer does
> and that then works. So it goes but very slowly.
>
> I dug into this a bit but failed to find a bug before I ran out of time. I
> did prove the message from the socket layer arrives right.
>
> Alan
>
Jan 4 19:55:39 rowan kernel: RPC: 205 xprt_reserve cong = 0 cwnd = 256
Jan 4 19:55:39 rowan kernel: RPC: 205 reserved req c3483074 xid 00000746
Jan 4 19:55:39 rowan kernel: RPC: 205 xprt_reserve returns 0
Jan 4 19:55:39 rowan kernel: RPC: 205 xprt_transmit(0)
Jan 4 19:55:39 rowan kernel: RPC: xprt_sendmsg(144) = 144
Jan 4 19:55:39 rowan kernel: RPC: 205 xmit complete
Jan 4 19:55:39 rowan kernel: RPC: 205 xprt_receive
Jan 4 19:55:39 rowan kernel: RPC: 205 xprt_receive returns 0
Jan 4 19:55:39 rowan kernel: RPC: tcp_data_ready...
Jan 4 19:55:39 rowan kernel: RPC: tcp_data_ready client c3483000
Jan 4 19:55:39 rowan kernel: RPC: state 1 conn 1 dead 0 zapped 0
Jan 4 19:55:39 rowan kernel: RPC: xprt queue
Jan 4 19:55:39 rowan kernel: rpciod_tcp_dispatcher: Queue Running
Jan 4 19:55:39 rowan kernel: rpciod_tcp_dispatcher: Processing c3483000
Jan 4 19:55:39 rowan kernel: RPC: tcp_input_record
Jan 4 19:55:39 rowan kernel: RPC: reading header (8 bytes)
Jan 4 19:55:39 rowan kernel: RPC: xprt_recvmsg(iov c3b11fd4, len 8) = 8
Jan 4 19:55:39 rowan kernel: RPC: reclen 80000080
Jan 4 19:55:39 rowan kernel: RPC: got xid 00000746 reclen 128 morefrags 0
Jan 4 19:55:39 rowan kernel: RPC: 205 TCP receiving 124 bytes
Jan 4 19:55:39 rowan kernel: RPC: xprt_recvmsg(iov c3483de4, len 124) = 124
Jan 4 19:55:39 rowan kernel: RPC: 205 received reply complete
Jan 4 19:55:39 rowan kernel: RPC: 205 has input (128 bytes)
Jan 4 19:55:39 rowan kernel: RPC: tcp_input_record done (off 0 total 0 copied 0)
Jan 4 19:55:39 rowan kernel: RPC: tcp_input_record
Jan 4 19:55:39 rowan kernel: RPC: reading header (8 bytes)
Jan 4 19:55:39 rowan kernel: RPC: xprt_recvmsg(iov c3b11fd4, len 8) = -11
Jan 4 19:55:39 rowan kernel: RPC: 205 release request c3483074

Jan 4 19:55:39 rowan kernel: RPC: 206 reserved req c3483074 xid 00000747
Jan 4 19:55:39 rowan kernel: RPC: 206 xprt_reserve returns 0
Jan 4 19:55:39 rowan kernel: RPC: 206 xprt_transmit(0)
Jan 4 19:55:39 rowan kernel: RPC: xprt_sendmsg(140) = 140
Jan 4 19:55:39 rowan kernel: RPC: 206 xmit complete
Jan 4 19:55:39 rowan kernel: RPC: 206 xprt_receive
Jan 4 19:55:39 rowan kernel: RPC: 206 xprt_receive returns 0
Jan 4 19:55:39 rowan kernel: RPC: tcp_data_ready...
Jan 4 19:55:39 rowan kernel: RPC: tcp_data_ready client c3483000
Jan 4 19:55:39 rowan kernel: RPC: state 1 conn 1 dead 0 zapped 0
Jan 4 19:55:39 rowan kernel: RPC: xprt queue
Jan 4 19:55:39 rowan kernel: rpciod_tcp_dispatcher: Queue Running
Jan 4 19:55:39 rowan kernel: rpciod_tcp_dispatcher: Processing c3483000
Jan 4 19:55:39 rowan kernel: RPC: tcp_input_record
Jan 4 19:55:39 rowan kernel: RPC: reading header (8 bytes)
Jan 4 19:55:39 rowan kernel: RPC: xprt_recvmsg(iov c3b11fd4, len 8) = 8
Jan 4 19:55:39 rowan kernel: RPC: reclen 80000de8
Jan 4 19:55:39 rowan kernel: RPC: got xid 00000747 reclen 3560 morefrags 0Jan 4 19:55:39 rowan kernel: RPC: 206 TCP receiving 3556 bytes
Jan 4 19:55:39 rowan kernel: RPC: xprt_recvmsg(iov c3483de4, len 3556) = 1440
Jan 4 19:55:39 rowan kernel: RPC: tcp_input_record done (off 1448 total 3560 copied 1444)
Jan 4 19:55:39 rowan kernel: RPC: tcp_data_ready...
Jan 4 19:55:39 rowan kernel: RPC: tcp_data_ready client c3483000
Jan 4 19:55:39 rowan kernel: RPC: state 1 conn 1 dead 0 zapped 0
Jan 4 19:55:39 rowan kernel: RPC: xprt queue
Jan 4 19:55:39 rowan kernel: RPC: tcp_data_ready...
Jan 4 19:55:39 rowan kernel: RPC: tcp_data_ready client c3483000
Jan 4 19:55:39 rowan kernel: RPC: tcp_data_ready client c3483000
Jan 4 19:55:39 rowan kernel: RPC: state 1 conn 1 dead 0 zapped 0
Jan 4 19:55:39 rowan kernel: RPC: xprt queued already c3483000
Jan 4 19:55:44 rowan kernel: RPC: 206 xprt_timer (pending request)
Jan 4 19:55:44 rowan kernel: RPC: 206 xprt_transmit(88000080)
Jan 4 19:55:44 rowan kernel: RPC: xprt_sendmsg(140) = 140
Jan 4 19:55:44 rowan kernel: RPC: 206 xmit complete
Jan 4 19:55:44 rowan kernel: RPC: 206 xprt_receive
Jan 4 19:55:44 rowan kernel: RPC: 206 xprt_receive returns 0
Jan 4 19:55:48 rowan PAM_pwdb[479]: (login) session closed for user airlied
Jan 4 19:55:58 rowan kernel: RPC: 206 xprt_timer (pending request)
Jan 4 19:55:58 rowan kernel: RPC: 206 xprt_transmit(88000080)

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