Subject: Re: weird lossage with NFS + imake
To: Luke Mewburn <lukem@wasabisystems.com>
From: enami tsugutomo <enami@but-b.or.jp>
List: tech-net
Date: 01/03/2001 17:42:12
Luke Mewburn <lukem@wasabisystems.com> writes:

> i've been having some weird nfs lossage with -current, especially when
> trying to build xfree86 4.0.2.

I've experienced this when I tried to build gv package.  But I haven't
fully track this down yet.  My server is 1.5 and client is 1.5Q.  Both
are NetBSD/i386.

In my case, imake does truncate between some writes, but it's not
effecitve.

If I do ktrace and dump trace data into save directory, it success.
If I create symlink so that trace data written somewhere else, I saw
the problem again.

But, both ktrace output looks same.

So, I did tcpdump and when the problem occurs, it looks like the
clients gets some write reply after setattr reply even if the write
request is done before setattr.  and gets wrong size after final
commit.

tcpdump output is attached below (the tcpdump is sligtly modified to
output inode number; 228230 is inode number of corrupted Makefile).
49152 is a sizeof corrupted Makefile, and 31880 is a sizeof right
Makefile.

Ask me if some of you want full output or raw packet file.

enami.

		:
16:38:29.287865 red-pepper.enami.but-b.or.jp.17830771 > euphoria.enami.but-b.or.jp.nfs: 1472 write fh 7,0/228230 16384 bytes @ 32768 <unstable> (frag 2431:1480@0+) (ttl 64)
		:
16:38:29.292487 red-pepper.enami.but-b.or.jp.17830777 > euphoria.enami.but-b.or.jp.nfs: 156 setattr fh 7,0/228230 (ttl 64, id 2437)
16:38:29.292636 euphoria.enami.but-b.or.jp.nfs > red-pepper.enami.but-b.or.jp.17830777: reply ok 144 setattr PRE: sz 32768 mtime 978334709.288480000 ctime 978334709.288480000 POST: REG 644 ids 0/0 sz 0 nlink 1 rdev 0/0 fsid 0 nodeid 0 a/m/ctime 978332221.123480000 978334709.288480000 978334709.288480000  (ttl 64, id 11732)
16:38:29.294623 red-pepper.enami.but-b.or.jp.17830778 > euphoria.enami.but-b.or.jp.nfs: 1472 write fh 7,0/228230 16384 bytes @ 0 <unstable> (frag 2438:1480@0+) (ttl 64)
		:
16:38:29.297246 red-pepper.enami.but-b.or.jp.17830781 > euphoria.enami.but-b.or.jp.nfs: 1472 write fh 7,0/228230 15496 bytes @ 16384 <unstable> (frag 2441:1480@0+) (ttl 64)
16:38:29.299394 euphoria.enami.but-b.or.jp.nfs > red-pepper.enami.but-b.or.jp.17830771: reply ok 160 write PRE: sz 31880 mtime 978334709.298480000 ctime 978334709.298480000 POST: REG 644 ids 0/0 sz 49152 nlink 1 rdev 3486/520 fsid d9e00000208 nodeid 20800000000 a/m/ctime 978332221.123480000 978334709.298480000 978334709.298480000 16384 bytes <unstable> (ttl 64, id 11735)
16:38:29.299424 euphoria.enami.but-b.or.jp.nfs > red-pepper.enami.but-b.or.jp.17830778: reply ok 160 write PRE: sz 0 mtime 978334709.288480000 ctime 978334709.288480000 POST: REG 644 ids 0/0 sz 31880 nlink 1 rdev 3486/520 fsid d9e00000208 nodeid 20800000000 a/m/ctime 978332221.123480000 978334709.298480000 978334709.298480000 16384 bytes <unstable> (ttl 64, id 11736)
16:38:29.299472 euphoria.enami.but-b.or.jp.nfs > red-pepper.enami.but-b.or.jp.17830781: reply ok 160 write PRE: sz 0 mtime 978334709.288480000 ctime 978334709.288480000 POST: REG 644 ids 0/0 sz 31880 nlink 1 rdev 3486/520 fsid d9e00000208 nodeid 20800000000 a/m/ctime 978332221.123480000 978334709.298480000 978334709.298480000 15496 bytes <unstable> (ttl 64, id 11737)
16:38:29.299699 red-pepper.enami.but-b.or.jp.17830782 > euphoria.enami.but-b.or.jp.nfs: 132 commit fh 7,0/228230 16384 bytes @ 16384 (ttl 64, id 2442)
16:38:29.302288 euphoria.enami.but-b.or.jp.nfs > red-pepper.enami.but-b.or.jp.17830782: reply ok 152 commit PRE: sz 49152 mtime 978334709.298480000 ctime 978334709.298480000 POST: REG 644 ids 0/0 sz 49152 nlink 1 rdev 3486/520 fsid d9e00000208 nodeid 20800000000 a/m/ctime 978332221.123480000 978334709.298480000 978334709.298480000  (ttl 64, id 11738)