Subject: Re: nfs_fsync: dirty:
To: None <current-users@NetBSD.ORG>
From: der Mouse <mouse@Collatz.McRCIM.McGill.EDU>
List: current-users
Date: 08/06/1995 07:25:46
>> nfs_fsync: dirty: type VREG, usecount 2, writecount 1, refcount 2,
>> 	tag VT_NFS, fileid 200 fsid 0x2402

> That warning indicates that after the 'guts' of the NFS fsync() vnode
> op have been run, there are still blocks on the vnode's dirty block
> list.

> The reason that that's bad should be obvious.  8-)

Indeed. :-)

It started happening again, and I got curious enough to go looking for
the fileid cited in the message.  As it turned out:

I was using tfs for /usr/src, and was building a kernel in
/sys(=/usr/src/sys)/arch/sparc/compile/CALLISTO, with
"make >& zerrs &".  Then I did "tail -f zerrs".  The fileid being
complained about is _always_ that of zerrs, the logfile (I've checked
at least three separate occurrances).

Doing "sync" doesn't provoke another copy of the message.

I suspect a race between nfs_fsync() and the build process writing to
the file - probably a write() occurring while the kernel is waiting for
the nfs server to reply to a request.  I'm going to try to provoke this
situation deliberately, and see if I can make it happen repeatably; if
so, I'll send-pr it.

					der Mouse

			    mouse@collatz.mcrcim.mcgill.edu