Date: Sun, 11 Dec 2016 23:06:42 +0000 From: Colin Percival <cperciva@tarsnap.com> To: "freebsd-fs@freebsd.org" <freebsd-fs@freebsd.org> Subject: ESTALE after cwd deleted by same NFS client Message-ID: <01000158f023675b-41b35a73-4428-4937-853b-62db4fb9b984-000000@email.amazonses.com>
next in thread | raw e-mail | index | archive | help
Hi filesystem gurus, If I run the following with /nfs/ being an NFS mount: # mkdir /nfs/foo # touch /nfs/foo/bar # cd /nfs/foo # rm -r /nfs/foo # rm bar Then the final 'rm bar' fails with 'Stale NFS file handle'. This results in 'make buildworld' with an NFS-backed /usr/obj failing during cleandir (which, for some reason, seems to delete the same directories multiple times.) I'm not sure if this is an NFS issue or a VFS issue, nor whether this is intended (but IMHO astonishing) behaviour or a bug. I realize that if the 'rm -r' was performed by a different NFS client, this is the behaviour which would be expected; but it seems to me that when the commands are executed by the same NFS client, it should be possible for the cached file handle for /nfs/foo to be invalidated when /nfs/foo is deleted, in order to return ENOENT instead of ESTALE here. -- Colin Percival Security Officer Emeritus, FreeBSD | The power to serve Founder, Tarsnap | www.tarsnap.com | Online backups for the truly paranoid
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?01000158f023675b-41b35a73-4428-4937-853b-62db4fb9b984-000000>