Re: NFS problem with 2.1.84

Christopher Faylor (cgf@bbc.com)
Mon, 2 Feb 1998 18:50:31 GMT


In article <34D606B6.632C9395@star.net>, Bill Hawes <whawes@star.net> wrote:
>Christopher Faylor wrote:
>>
>> I'm noticing an NFS problem with 2.1.84. Here's the symptom:
>>
>> > ls -l abc
>> -rw-rw-r-- 1 cgf group 0 Feb 02 11:50 abc
>> > echo hello > abc
>> > ls -l abc
>> -rw-rw-r-- 1 cgf group 6 Feb 02 11:50 abc
>> > cat abc
>> > ls -l abc
>> -rw-rw-r-- 1 cgf group 0 Feb 02 11:50 abc
>>
>> I am only noticing this problem with a directory that is mounted from
>> an old AT&T System V system. The directory is mounted with hard,intr
>> options.
>
>Hmm, puzzling behavior. Could you try turning on nfs debugging with a
>
> echo 65535 > /proc/sys/sunrpc/nfs_debug
>
>and then rerun the sequence of commands. That may show something about the
>problem.
>
>Is this of recent origin, or did previous 2.1.xx kernels show the
>same behavior?

I'm embarrassed to admit that most of the recent 2.1.xx kernels have shown
the same behavior and that I was too lazy to report it. I thought that
this was working better in 2.1.81 and, so, had been fixed but this could
easily have been inattention on my part.

Anyway, the klog output from the 'echo' and 'ls' are below. The file abc
did not initially exist for this test.

****** echo hello > abc

Feb 2 13:43:38 bigmouth kernel: NFS: lookup(cgf/abc)
Feb 2 13:43:38 bigmouth kernel: NFS call lookup abc
Feb 2 13:43:38 bigmouth kernel: RPC: diropres status 2
Feb 2 13:43:38 bigmouth kernel: NFS reply lookup: -2
Feb 2 13:43:38 bigmouth kernel: NFS: create(6/102401, abc
Feb 2 13:43:38 bigmouth kernel: NFS: invalidate dircache for 6/102401
Feb 2 13:43:38 bigmouth kernel: NFS call create abc
Feb 2 13:43:38 bigmouth kernel: RPC: diropres status 0
Feb 2 13:43:38 bigmouth kernel: RPC: diropres OK type 1 mode 100664 dev 8c0006e ino 19060
Feb 2 13:43:38 bigmouth kernel: NFS reply create: 0
Feb 2 13:43:38 bigmouth kernel: NFS: nfs_fhget(cgf/abc fileid=102496)
Feb 2 13:43:38 bigmouth kernel: NFS: refresh_inode(6/102496 ct=1)
Feb 2 13:43:38 bigmouth kernel: NFS: __nfs_fhget(6/102496 ct=1)
Feb 2 13:43:38 bigmouth kernel: nfs: write(cgf/abc (1), 6@0)
Feb 2 13:43:38 bigmouth kernel: NFS: nfs_updatepage(cgf/abc 6@0, sync=0)
Feb 2 13:43:38 bigmouth kernel: NFS: find_write_request(6/102496, c023eae0)
Feb 2 13:43:38 bigmouth kernel: NFS: create_write_request(cgf/abc, 0+6)
Feb 2 13:43:38 bigmouth kernel: NFS: append_write_request(c11484ac, c07a2680)
Feb 2 13:43:38 bigmouth kernel: NFS: 6918 schedule_write_request (async)
Feb 2 13:43:38 bigmouth kernel: NFS: unlock 0
Feb 2 13:43:38 bigmouth kernel: NFS: nfs_updatepage returns 6 (isize 0)
Feb 2 13:43:38 bigmouth kernel: nfs: close(6/102496)
Feb 2 13:43:38 bigmouth kernel: NFS: flush_dirty_pages(6/102496 for pid 1017 0/0)
Feb 2 13:43:38 bigmouth kernel: NFS: 6918 nfs_flush inspect cgf/abc @0 fl 0
Feb 2 13:43:38 bigmouth kernel: NFS: nfs_flush_request(cgf/abc, @0)
Feb 2 13:43:38 bigmouth kernel: NFS: transfer_page_lock
Feb 2 13:43:38 bigmouth kernel: NFS: wake up task 6918 (flags 2)

****** ls -l abc

Feb 2 13:43:38 bigmouth kernel: NFS: 6918 nfs_wback_lock (cgf/abc, status=0 flags=2)
Feb 2 13:43:38 bigmouth kernel: RPC: garbage, retrying 6918
Feb 2 13:43:38 bigmouth kernel: RPC: garbage, retrying 6918
Feb 2 13:43:38 bigmouth kernel: RPC: garbage, exit EIO
Feb 2 13:43:38 bigmouth kernel: NFS: 6918 nfs_wback_result (cgf/abc, status=-5, flags=102)
Feb 2 13:43:38 bigmouth kernel: NFS: unlock 0
Feb 2 13:43:38 bigmouth kernel: NFS: remove_write_request(c11484ac, c07a2680)
Feb 2 13:43:38 bigmouth kernel: NFS: 6918 saving write failure code
Feb 2 13:43:38 bigmouth kernel: NFS: append_write_request(c01e5b2c, c07a2680)
Feb 2 13:43:38 bigmouth kernel: nfs: checking for write error inode 0006/102496
Feb 2 13:43:38 bigmouth kernel: nfs: write error -5 inode 0006/102496
Feb 2 13:43:38 bigmouth kernel: NFS: remove_write_request(c01e5b2c, c07a2680)
Feb 2 13:43:38 bigmouth kernel: NFS: put_inode(3/2652)
Feb 2 13:43:38 bigmouth kernel: NFS: delete_inode(3/2652)
Feb 2 13:43:38 bigmouth kernel: NFS: lookup(//cgf)
Feb 2 13:43:38 bigmouth kernel: NFS call lookup cgf
Feb 2 13:43:38 bigmouth kernel: RPC: diropres status 0
Feb 2 13:43:38 bigmouth kernel: RPC: diropres OK type 1 mode 100600 dev 2000010 ino a5c
Feb 2 13:43:38 bigmouth kernel: NFS reply lookup: 0
Feb 2 13:43:38 bigmouth kernel: NFS: nfs_fhget(//cgf fileid=2652)
Feb 2 13:43:38 bigmouth kernel: NFS: refresh_inode(3/2652 ct=1)
Feb 2 13:43:38 bigmouth kernel: NFS: __nfs_fhget(3/2652 ct=1)
Feb 2 13:43:44 bigmouth kernel: NFS: lookup(cgf/ls)
Feb 2 13:43:44 bigmouth kernel: NFS call lookup ls
Feb 2 13:43:44 bigmouth kernel: RPC: diropres status 2
Feb 2 13:43:44 bigmouth kernel: NFS reply lookup: -2
Feb 2 13:43:44 bigmouth kernel: NFS: put_inode(6/102496)
Feb 2 13:43:44 bigmouth kernel: NFS: delete_inode(6/102496)
Feb 2 13:43:44 bigmouth kernel: NFS: lookup(cgf/abc)
Feb 2 13:43:44 bigmouth kernel: NFS call lookup abc
Feb 2 13:43:44 bigmouth kernel: RPC: diropres status 0
Feb 2 13:43:44 bigmouth kernel: RPC: diropres OK type 1 mode 100664 dev 8c0006e ino 19060
Feb 2 13:43:44 bigmouth kernel: NFS reply lookup: 0
Feb 2 13:43:44 bigmouth kernel: NFS: nfs_fhget(cgf/abc fileid=102496)
Feb 2 13:43:44 bigmouth kernel: NFS: refresh_inode(6/102496 ct=1)
Feb 2 13:43:44 bigmouth kernel: NFS: __nfs_fhget(6/102496 ct=1)

-- 
http://www.bbc.com/	cgf@bbc.com			"Strange how unreal
VMS=>UNIX Solutions	Boston Business Computing	 the real can be."