From owner-freebsd-current Fri Feb 5 16:19:51 1999 Return-Path: Received: (from majordom@localhost) by hub.freebsd.org (8.8.8/8.8.8) id QAA27459 for freebsd-current-outgoing; Fri, 5 Feb 1999 16:19:51 -0800 (PST) (envelope-from owner-freebsd-current@FreeBSD.ORG) Received: from apollo.backplane.com (apollo.backplane.com [209.157.86.2]) by hub.freebsd.org (8.8.8/8.8.8) with ESMTP id QAA27454 for ; Fri, 5 Feb 1999 16:19:49 -0800 (PST) (envelope-from dillon@apollo.backplane.com) Received: (from dillon@localhost) by apollo.backplane.com (8.9.2/8.9.1) id QAA00659; Fri, 5 Feb 1999 16:19:48 -0800 (PST) (envelope-from dillon) Date: Fri, 5 Feb 1999 16:19:48 -0800 (PST) From: Matthew Dillon Message-Id: <199902060019.QAA00659@apollo.backplane.com> To: current@FreeBSD.ORG Subject: Re: More on Seeing NFS saturation 'loop' when installworld'ing to NFS / and /usr Sender: owner-freebsd-current@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.ORG I think I've found the general area where the problem is occuring. It appears to some sort of weird write()/remove() interaction. In the make install, the problem appears to only occurs when install -s ( install and strip binary ) is used. This causes an NFS file to be written, copied, and then removed. I think what is going on is that the dirty bp's associated with the file being removed are not being cleared out prior to the NFS setattr call that removes the actual file. Then a flushdirtyblks() call comes along and tries to vfs_bio_awrite()'s the B_INVALID|B_DELWRI buffers. I still can't figure out where exactly in the code the problem is occuring, though. It's definitely related to a just-written file via NFS getting remove()'d, and then a later flushdirtyblks() call doing something that causes the blocks to be written out to the server ( and thus returning a 'Stale file' error ). -Matt Matthew Dillon To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-current" in the body of the message