Date: Tue, 13 Dec 2016 13:04:06 +0000 From: Rick Macklem <rmacklem@uoguelph.ca> To: Benjamin Kaduk <kaduk@mit.edu>, Colin Percival <cperciva@tarsnap.com> Cc: "freebsd-fs@freebsd.org" <freebsd-fs@freebsd.org> Subject: Re: ESTALE after cwd deleted by same NFS client Message-ID: <YQBPR01MB018054EE62DEFDC73784AD9BDD9B0@YQBPR01MB0180.CANPRD01.PROD.OUTLOOK.COM> In-Reply-To: <20161212163603.GV8460@kduck.kaduk.org> References: <01000158f023675b-41b35a73-4428-4937-853b-62db4fb9b984-000000@email.amazonses.com> <20161212054233.GU8460@kduck.kaduk.org> <01000158f1abc081-d4eddc58-3b4b-41dd-aa1e-0157d2fad812-000000@email.amazonses.com>, <20161212163603.GV8460@kduck.kaduk.org>
next in thread | previous in thread | raw e-mail | index | archive | help
Benjamin Kaduk wrote: >On Mon, Dec 12, 2016 at 06:15:14AM +0000, Colin Percival wrote: >> On 12/11/16 21:42, Benjamin Kaduk wrote: >> > On Sun, Dec 11, 2016 at 11:06:42PM +0000, Colin Percival wrote: >> >> 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 If this is happening on a single client, something is broken. - For this step, the name cache should have a miss and the Lookup should fa= il with ENOENT. I think the most likely failures are... --> Either the name cache in the client is broken and has a hit OR --> The server replies NFS_OK for the lookup, even though it should have = been removed. When I get home on the weekend, I'll try this against a FreeBSD and Linux s= erver, to see if it fails. If it does, then I'll try to figure out why. (Version of NFS shouldn't matter for this case. They recently added the opt= ional case of a server that can retain files after an NFSv4 Remove until the NFSv4 Cl= ose, making it more POSIX like. I think that's NFSv4.2, but it might be in NFSV4.1.) Did you try: sysctl debug.disable_vnfullpath=3D1 (or something close to disable_vnfullpa= th) to see if it helped? rick >> >> >> >> Then the final 'rm bar' fails with 'Stale NFS file handle'. >> > >> > Amusingly, this just came up recently: >> > >> > https://www.ietf.org/mail-archive/web/nfsv4/current/msg15115.html (et = seq) >> > >> > But I guess you did not specify which version of the NFS protocol you = were >> > using... >> >> I'm using NFSv4.1, but this isn't quite the same... that link refers to = having >> one NFS client remove a file out from underneath a different client, whi= le I'm >> talking about having an NFS client remove a file from underneath *itself= *. > >I thought the reply mentioned (in passing) the case of a client removing a >file out from under itself as well. But, maybe I was reading too fast. > >-Ben
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?YQBPR01MB018054EE62DEFDC73784AD9BDD9B0>