From owner-freebsd-fs@freebsd.org Wed Dec 14 07:35:36 2016 Return-Path: Delivered-To: freebsd-fs@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 9AC3DC764F9 for ; Wed, 14 Dec 2016 07:35:36 +0000 (UTC) (envelope-from 01000158fc3d9bab-65b7741f-ca02-4024-a34c-b8be22a3b5e6-000000@amazonses.com) Received: from a8-26.smtp-out.amazonses.com (a8-26.smtp-out.amazonses.com [54.240.8.26]) (using TLSv1 with cipher ECDHE-RSA-AES128-SHA (128/128 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 5E93C14FF for ; Wed, 14 Dec 2016 07:35:35 +0000 (UTC) (envelope-from 01000158fc3d9bab-65b7741f-ca02-4024-a34c-b8be22a3b5e6-000000@amazonses.com) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/simple; s=vnqrkfnvu6csdl6mwgk5t6ix3nnepx57; d=tarsnap.com; t=1481700645; h=Subject:To:References:Cc:From:Message-ID:Date:MIME-Version:In-Reply-To:Content-Type:Content-Transfer-Encoding; bh=BewlLjArjIK7Pujs1R1E/u88FJlmXL6L6F6nSLebajA=; b=J+lTPRVTic+dGLVdOTFQJMPykGiac7/anjnbVk53iA29d/Fu3nYT19ilfx6uSNS+ d8rIpK2JuX/H/Zx51HJ6ojog1J3kX/CFZtkOE/PAHJOE6+TfadAEAC+jZg2lmb349j+ T4vVSlvqLJZCIrboQyVvrL4PnfK6Tw1gyo9ma/78= DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/simple; s=6gbrjpgwjskckoa6a5zn6fwqkn67xbtw; d=amazonses.com; t=1481700645; h=Subject:To:References:Cc:From:Message-ID:Date:MIME-Version:In-Reply-To:Content-Type:Content-Transfer-Encoding:Feedback-ID; bh=BewlLjArjIK7Pujs1R1E/u88FJlmXL6L6F6nSLebajA=; b=uOXwv1KBvRaozLPHSrVrIbIeFOIMZQn/QksCXkQPywEmBvPpA/EWf0lgcVsa/Qic 7bJLNCLYgd18mE749GBcEvRD9CDP9gV28MbbWPhCwYsdOpQhBiOhrodG6KqnuE9pmFz nL5IRdeUD02BMgwjDoBPBg4IUtx/DqH63nFhGM4E= Subject: Re: ESTALE after cwd deleted by same NFS client To: Rick Macklem , Benjamin Kaduk 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> Cc: "freebsd-fs@freebsd.org" From: Colin Percival Message-ID: <01000158fc3d9bab-65b7741f-ca02-4024-a34c-b8be22a3b5e6-000000@email.amazonses.com> Date: Wed, 14 Dec 2016 07:30:45 +0000 User-Agent: Mozilla/5.0 (X11; FreeBSD amd64; rv:45.0) Gecko/20100101 Thunderbird/45.5.0 MIME-Version: 1.0 In-Reply-To: Content-Type: text/plain; charset=windows-1252 Content-Transfer-Encoding: 7bit X-SES-Outgoing: 2016.12.14-54.240.8.26 Feedback-ID: 1.us-east-1.Lv9FVjaNvvR5llaqfLoOVbo2VxOELl7cjN0AOyXnPlk=:AmazonSES X-BeenThere: freebsd-fs@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: Filesystems List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 14 Dec 2016 07:35:36 -0000 On 12/13/16 05:04, Rick Macklem 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 Yes. At the time I ran this, there was only one client. > something is broken. > - For this step, the name cache should have a miss and the Lookup should fail 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. The server replied ESTALE for the 'rm bar'. Is that the lookup you mean? I don't think a lookup happened for /nfs/foo after the 'rm -r' completed, since it was already the current directory (despite no longer existing). > Did you try: > sysctl debug.disable_vnfullpath=1 (or something close to disable_vnfullpath) > to see if it helped? If you mean debug.disablefullpath=1, yes, I tried that. I also tried setting vfs.lookup_shared=0; also no change. -- Colin Percival Security Officer Emeritus, FreeBSD | The power to serve Founder, Tarsnap | www.tarsnap.com | Online backups for the truly paranoid