Received: by 2002:a25:4158:0:0:0:0:0 with SMTP id o85csp7478297yba; Thu, 2 May 2019 10:31:30 -0700 (PDT) X-Google-Smtp-Source: APXvYqxAKSU4WmRnqBzLFXb8+aqWhZ7LPUXALAY2GN079iz1G2Vc+mpPubA7NtyoDNgd6Ssu2Zo8 X-Received: by 2002:aa7:8e55:: with SMTP id d21mr5429568pfr.62.1556818290474; Thu, 02 May 2019 10:31:30 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1556818290; cv=none; d=google.com; s=arc-20160816; b=XuV+a38JAbri+nDpaAF4iqntyBQvGGQONtCW3uhMQQBzMjfRISHJxT/xeDJV0CsEJf tXo68N1W52+PElbN5aKWQlb/VGWdmXqd0E6EGej+YnSsZig92JdKsO8bA6u7r2LY6+P+ UhqbItQlR6PmM6lbaQI231DxNYOY8ShN8USK34HIADHhNwtERHbcpJo7vcEb2fs58kqK cnYRwx6loNIIRqK2VEN3TNdXaiW0h+QeioeeDHmur3jZpW9o+QtkWjzHXumtHKIG9nN+ /0QfO9Yn2uv65t4xdeOWAMJjJ5cpljJ859h9IAB5pGENOm1Z6/5wpiR4anWT2owlEmHw jZfQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:message-id:date:subject:cc:to:from; bh=8krFSsLGv5C+nmhgyZF+vlzU1nyWyDd0WFDP2Od7IdM=; b=hCndKJMT4/R7AtD76pwMhi4wYWwLKcARx81pZ9r7ROtcKuD88uvul9jGlD8UmLmLCi Sw3QwSGriPn+Ln4yJgw0qHpYtIorZwJY89w89VmhQlZhGodieYLtmU39EzYy6liwP7pC 1eC4EQ2oYDDkHCRGqRuL0LqN6uxKXQCypc5bo08v54iEbOCZ5qvoHVYnc1QtYYuOq7Nr +jcCWQMWZK++vrB+ZrEFlOkbp+i6onlK4KBoKr7WhTHnh51bnGrCRs72BpauQmouZQl3 zyVEPY/WOPEwX6i/+fYs4M4GGVVxnICzz+sdSkVpUxzDhz+NfgYk/7mUYYrtJl+pjHyr PNZQ== 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 e22si41953274pgi.66.2019.05.02.10.31.11; Thu, 02 May 2019 10:31:30 -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 S1726175AbfEBRbJ (ORCPT + 99 others); Thu, 2 May 2019 13:31:09 -0400 Received: from mx1.redhat.com ([209.132.183.28]:45580 "EHLO mx1.redhat.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726145AbfEBRbJ (ORCPT ); Thu, 2 May 2019 13:31:09 -0400 Received: from smtp.corp.redhat.com (int-mx08.intmail.prod.int.phx2.redhat.com [10.5.11.23]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mx1.redhat.com (Postfix) with ESMTPS id 6BDB880472; Thu, 2 May 2019 17:31:09 +0000 (UTC) Received: from coeurl.usersys.redhat.com (ovpn-122-85.rdu2.redhat.com [10.10.122.85]) by smtp.corp.redhat.com (Postfix) with ESMTP id 2BB53A233; Thu, 2 May 2019 17:31:09 +0000 (UTC) Received: by coeurl.usersys.redhat.com (Postfix, from userid 1000) id B445021003; Thu, 2 May 2019 13:31:08 -0400 (EDT) From: Scott Mayhew To: trond.myklebust@hammerspace.com, anna.schumaker@netapp.com Cc: linux-nfs@vger.kernel.org Subject: [PATCH] NFSv4: don't mark all open state for recovery when handling recallable state revoked flag Date: Thu, 2 May 2019 13:31:08 -0400 Message-Id: <20190502173108.8796-1-smayhew@redhat.com> X-Scanned-By: MIMEDefang 2.84 on 10.5.11.23 X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.28]); Thu, 02 May 2019 17:31:09 +0000 (UTC) Sender: linux-nfs-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-nfs@vger.kernel.org Only delegations and layouts can be recalled, so it shouldn't be necessary to recover all opens when handling the status bit SEQ4_STATUS_RECALLABLE_STATE_REVOKED. We'll still wind up calling nfs41_open_expired() when a TEST_STATEID returns NFS4ERR_DELEG_REVOKED. Signed-off-by: Scott Mayhew --- fs/nfs/nfs4state.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/fs/nfs/nfs4state.c b/fs/nfs/nfs4state.c index 3de36479ed7a..4db9bcf93fad 100644 --- a/fs/nfs/nfs4state.c +++ b/fs/nfs/nfs4state.c @@ -2346,8 +2346,8 @@ static void nfs41_handle_recallable_state_revoked(struct nfs_client *clp) { /* FIXME: For now, we destroy all layouts. */ pnfs_destroy_all_layouts(clp); - /* FIXME: For now, we test all delegations+open state+locks. */ - nfs41_handle_some_state_revoked(clp); + nfs_mark_test_expired_all_delegations(clp); + nfs4_schedule_state_manager(clp); dprintk("%s: Recallable state revoked on server %s!\n", __func__, clp->cl_hostname); } -- 2.17.2