From owner-freebsd-current Sat Oct 11 07:00:57 1997 Return-Path: Received: (from root@localhost) by hub.freebsd.org (8.8.7/8.8.7) id HAA20521 for current-outgoing; Sat, 11 Oct 1997 07:00:57 -0700 (PDT) (envelope-from owner-freebsd-current) Received: from godzilla.zeta.org.au (godzilla.zeta.org.au [203.2.228.19]) by hub.freebsd.org (8.8.7/8.8.7) with ESMTP id HAA20513 for ; Sat, 11 Oct 1997 07:00:54 -0700 (PDT) (envelope-from bde@zeta.org.au) Received: (from bde@localhost) by godzilla.zeta.org.au (8.8.5/8.6.9) id XAA24301; Sat, 11 Oct 1997 23:57:36 +1000 Date: Sat, 11 Oct 1997 23:57:36 +1000 From: Bruce Evans Message-Id: <199710111357.XAA24301@godzilla.zeta.org.au> To: bde@zeta.org.au, helbig@Informatik.BA-Stuttgart.DE Subject: Re: make world failed Cc: current@FreeBSD.ORG Sender: owner-freebsd-current@FreeBSD.ORG X-Loop: FreeBSD.org Precedence: bulk >> failure occurs early, for rm -f, because nfs returns ESTALE instead >> of ENOENT for (necessarily) failing lookups in the removed directory, >> and rm -f doesn't understand ESTALE. > >Should it? I think the problem is really in nfs. Removed directories should not be found by namei(). nfs presumably caches the directory name and finds the old inode and gets ESTALE when it attempts to access the inode. It should purge the cache and retry (not too many times). It does purge the cache in nfs_request() but it doesn't seem to retry there. Bruce