Subject: Re: nfs_fsync: dirty:
To: None <current-users@NetBSD.ORG>
From: der Mouse <mouse@Collatz.McRCIM.McGill.EDU>
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
> The reason that that's bad should be obvious. 8-)
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
"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.