Received: by 2002:a25:ab43:0:0:0:0:0 with SMTP id u61csp5364980ybi; Tue, 4 Jun 2019 05:41:36 -0700 (PDT) X-Google-Smtp-Source: APXvYqwvgn7gUykg0/9wEhXjCsUebtXhSA2b+ejVZ5TH9nXlYA8GeHd2xqcrd73AkaaKqXYYOPa6 X-Received: by 2002:a17:902:347:: with SMTP id 65mr37176385pld.232.1559652096238; Tue, 04 Jun 2019 05:41:36 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1559652096; cv=none; d=google.com; s=arc-20160816; b=kBKl33m3N8dVSi+CT5wjMWNYbT8Hl1Be2x+LAcvn6lUd2s0skGDWffanKry1lBPUii Xrpo4guXvKlxG0kM64EeKuPpDT5ksxas/HiYy02yyGzEZfkusPE3ztPjLvNg7CwdEIhs MayBeUBV59J5j2ugrT+BQTtM6CIRGZ3OUUfZAOmTy9qGABifEnADpGBqAp3cxfmrV1aq jJop7OHjQFsR2UeYsErK9IEcXLbvZxDWaVdmvIPAwXfmv/npHcL+067rf4JXQYsJaEhd jchbcNAQEjk73qVbKa3tEosjwMZEjbSmsyIMZVvdujiHS7o4a0QZpnRiZ9LCt76fImDL eaGA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:mime-version:message-id:date:subject:cc :to:from; bh=lL+BhxTtBV8hkeupbQHHKoThQ13Y+P4IsB83xwrbs7s=; b=mzbFHqW6/mCpXlGVS+JcGrVChbpVI6yoejoPp5XMzS3iMvVfSGFH2CKysS7i5qdBKK yyIFRyMOc8XpWJIYlOxIhIbMWkh2U+L5jgteHsCY6F130e2WHqKe3aS0Elt9zyFwSDL8 mK3pB4g33fCzjSzFJmGOi5RaYpLcsvyjOf/F2glLf53dM6QQTLxK6dUCORHB7qZy+RVj 60LvkQti7jvug9pRdjXm/5uU0vaU9WOvV1OxHy3SFJdp9dANn6IBbTtEdUNprFr3LSNz n9Kzv0mUT9kk7OtY6Az/Cr5ydL8VU4GUYtUilIw55/48Pqqh2C08QYCknPDtqw0XkpQq 2D4Q== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: best guess record for domain of linux-nfs-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-nfs-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=redhat.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id g23si23908004pfi.153.2019.06.04.05.41.10; Tue, 04 Jun 2019 05:41:36 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of linux-nfs-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; spf=pass (google.com: best guess record for domain of linux-nfs-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-nfs-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=redhat.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1727664AbfFDMlJ (ORCPT + 99 others); Tue, 4 Jun 2019 08:41:09 -0400 Received: from mx1.redhat.com ([209.132.183.28]:35752 "EHLO mx1.redhat.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1727654AbfFDMlI (ORCPT ); Tue, 4 Jun 2019 08:41:08 -0400 Received: from smtp.corp.redhat.com (int-mx07.intmail.prod.int.phx2.redhat.com [10.5.11.22]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mx1.redhat.com (Postfix) with ESMTPS id 7C74CA9DB4; Tue, 4 Jun 2019 12:41:06 +0000 (UTC) Received: from [10.10.66.2] (ovpn-66-2.rdu2.redhat.com [10.10.66.2]) by smtp.corp.redhat.com (Postfix) with ESMTPS id 0FB0210027C2; Tue, 4 Jun 2019 12:41:03 +0000 (UTC) From: "Benjamin Coddington" To: "Trond Myklebust" , "Anna Schumaker" Cc: "Linux NFS Mailing List" Subject: client skips revalidation if holding a delegation Date: Tue, 04 Jun 2019 08:41:03 -0400 Message-ID: <6C2EF3B8-568A-41F0-B134-52996457DD7D@redhat.com> MIME-Version: 1.0 Content-Type: text/plain X-Scanned-By: MIMEDefang 2.84 on 10.5.11.22 X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.30]); Tue, 04 Jun 2019 12:41:08 +0000 (UTC) Sender: linux-nfs-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-nfs@vger.kernel.org Hey linux-nfs, and especially maintainers, I'm still interested in working on a problem raised a couple weeks ago, but confusion muddled that discussion and it died: If the client holds a read delegation, it will skip revalidation of a dentry in lookup. If the file was moved on the server, the client can end up with two positive dentries in cache for the same inode, and the dentry that doesn't exist on the server will never time out of the cache. The client can detect this happening because the directory of the dentry that should be revalidated updates it's change attribute. Skipping revalidation is an optimization in the case we hold a delegation, but this optimization should only be used when the delegation was obtained via a lookup of the dentry we are currently revalidating. Keeping the optimization might be done by tying the delegation to the dentry. Lacking some (easy?) way to do that currently, it seems simpler to remove the optimization altogether, and I will send a patch to remove it. Any thoughts on this? Any response, even asserting that this is not something we will fix are welcome. Thanks, Ben