Received: by 2002:a05:7412:31a9:b0:e2:908c:2ebd with SMTP id et41csp4811437rdb; Fri, 15 Sep 2023 13:04:01 -0700 (PDT) X-Google-Smtp-Source: AGHT+IF0Q1A+TMuG4QEDcJhRo6nQwd8owxUnx2JwF/G5J3mwOVOR/TBnkgp0lLoBxAWflEVYhXFJ X-Received: by 2002:a05:6a20:3ca0:b0:15a:4c23:870b with SMTP id b32-20020a056a203ca000b0015a4c23870bmr3483600pzj.23.1694808240709; Fri, 15 Sep 2023 13:04:00 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1694808240; cv=none; d=google.com; s=arc-20160816; b=Lacl64o8oKvOE+p104qhUoyaU77hB2D9TwzJs6orJXMC4enmZoTMmXpTmwmSqgDM3M J/ZiYkZCmMOv3I9s5CqdCzhwZKjqp2FaNctcfOlklQTanvnKZTdUMRg5ObJXNEIUEsDM 3y3ahsvPqZ+mt+ADzVgfHC1ju+wj/7YvtIN5bdq3KLeUasSxbBL0P0BUYWMA1uIF6lgZ 3kb7JDZB6AQaVVyV8EZs5aSd95cXF3/Eay/ptt2Mh9BZhjuJdZ+KL+RGZlouUwEXS9nU bX0yklMFiX8c8ZIIq50HmH84Ll2Eho0/o75EJLVMsmSeWUf28V+dfvJeRp5wPNDeY39J 9VdQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :message-id:date:subject:cc:to:from:dkim-signature; bh=cjElj1Y7dyx25+YVDMvYRWaZ4jnIteZwPRcb1817cvU=; fh=2G8vV/twklXuIDat4PvoYTuAifAwKWy0lXEyRgIEHLQ=; b=05/+UOKqIn81aaTJKl3nQ4CWTJtViQIS1PvBGGzJuh9EpLK7Tv2kKB1g5qdDdlN2JD RHrBbI++t2zi0UFrK0oImn8pP+huMFLOvZ1AHjr4F2sVPR9nmF3fWgb2LA/0Gwb5iYaA 097oDLoFzugBs/tjuusEWZC7lCf/X/zd67KyFElbgDYtvuXYeqVb8fiqAwvv6x9mykZM r//7viW1nT7mT2HdpGZpBK28w06IhkWiPn6OgSLVK44ksMr6tQssezV7rZA2X9I+8nDL RfbXf6Tj0t7GNnZLmnkXTDpOoK2N7ZL/39JWcMKt+ns4wRVQuU+FAL40B1/Q5acWBp8j RfUg== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@gmail.com header.s=20230601 header.b=ISgWbL1I; spf=pass (google.com: domain of linux-nfs-owner@vger.kernel.org designates 2620:137:e000::3:1 as permitted sender) smtp.mailfrom=linux-nfs-owner@vger.kernel.org; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Return-Path: Received: from morse.vger.email (morse.vger.email. [2620:137:e000::3:1]) by mx.google.com with ESMTPS id eg26-20020a056a00801a00b0068fc2f7cef3si3617824pfb.358.2023.09.15.13.03.59 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 15 Sep 2023 13:04:00 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-nfs-owner@vger.kernel.org designates 2620:137:e000::3:1 as permitted sender) client-ip=2620:137:e000::3:1; Authentication-Results: mx.google.com; dkim=pass header.i=@gmail.com header.s=20230601 header.b=ISgWbL1I; spf=pass (google.com: domain of linux-nfs-owner@vger.kernel.org designates 2620:137:e000::3:1 as permitted sender) smtp.mailfrom=linux-nfs-owner@vger.kernel.org; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Received: from out1.vger.email (depot.vger.email [IPv6:2620:137:e000::3:0]) by morse.vger.email (Postfix) with ESMTP id 370A783BBDF0; Fri, 15 Sep 2023 12:22:06 -0700 (PDT) X-Virus-Status: Clean X-Virus-Scanned: clamav-milter 0.103.10 at morse.vger.email Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S236527AbjIOTVi (ORCPT + 99 others); Fri, 15 Sep 2023 15:21:38 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:57612 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S237067AbjIOTVZ (ORCPT ); Fri, 15 Sep 2023 15:21:25 -0400 Received: from mail-io1-xd29.google.com (mail-io1-xd29.google.com [IPv6:2607:f8b0:4864:20::d29]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 746A31FE0 for ; Fri, 15 Sep 2023 12:21:19 -0700 (PDT) Received: by mail-io1-xd29.google.com with SMTP id ca18e2360f4ac-760dff4b701so37511539f.0 for ; Fri, 15 Sep 2023 12:21:19 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1694805679; x=1695410479; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:from:to:cc:subject:date:message-id:reply-to; bh=cjElj1Y7dyx25+YVDMvYRWaZ4jnIteZwPRcb1817cvU=; b=ISgWbL1IEpe/FQf5ZkKADsaX3fhzIrgn82H5EiM2w5qcGQvl7yHKdz0+TOIq+5lI03 YLwUBOsJam7yscvaK2bNFjl3LJAJGPgc/W1Sw12d5X+DYCxkZZHPnbLhwirRmy1szfLJ GS+gurNsIQEZQu/AHeH9XDH1GAnyiIDYgTiv30deZA9+fzuDJibd0aCXT1g5EWE32+mR tI82YekdKFhoBanhfx7OThiSHvuwet+63HcV5RDnndlepMX8KM8xxHjPEXoXNf/M0NLZ /SgAcbi3fgnd2YOOrorSJnTCrJfTT/V7CaxPR40q32HDrM1o/I/qIegMmWKPv2oSR46O zsoA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1694805679; x=1695410479; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=cjElj1Y7dyx25+YVDMvYRWaZ4jnIteZwPRcb1817cvU=; b=dWfOwV+GPLIBs02yHiWgcwCmsEWUltrerjJ+grbYmDqcXj+3eJjtYOvEkOz4T5UfDs 7uoPAp10d5vTR/7wS5sOSB+MDLaegQPS0u4pmeGYoMmOVwx8uPb+xPwFkLhOHakJ/Wrr mSY9l/KP/vLiJsOaHISAntxtrDkJzheNZS/LWf5Jpn448sReuE3GIT55xxBDQNYlDagJ OVseNnF2JtfbmJVw3AAELIt4QzeooJoHnB+tyOWZYjWVDkYszXK07DPtAHufEIfm0xnG ElAFk63Db1o9A/MIOfud6LKckM3yPhKMvDjFQrJtYru4uch4m+WTNiqjXAq9syoK+jsv nEPQ== X-Gm-Message-State: AOJu0YzQ92O9V+rWBVaOijxpEZsK0RDLCtXTKvaOrTPPTZcmx6Ej57od +py6vFAPx2VYiwFGmF5ICnM= X-Received: by 2002:a05:6602:2d86:b0:794:da1e:b249 with SMTP id k6-20020a0566022d8600b00794da1eb249mr3762574iow.1.1694805678794; Fri, 15 Sep 2023 12:21:18 -0700 (PDT) Received: from kolga-mac-1.attlocal.net ([2600:1700:6a10:2e90:a8ce:bd30:447c:d564]) by smtp.gmail.com with ESMTPSA id s11-20020a02cf2b000000b0043978165d54sm1250967jar.104.2023.09.15.12.21.17 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 15 Sep 2023 12:21:18 -0700 (PDT) From: Olga Kornievskaia To: trond.myklebust@hammerspace.com, anna.schumaker@netapp.com Cc: linux-nfs@vger.kernel.org Subject: [PATCH 1/1] NFSv4.1: fix handling NFS4ERR_DELAY when testing for session trunking Date: Fri, 15 Sep 2023 15:21:16 -0400 Message-Id: <20230915192116.14484-1-olga.kornievskaia@gmail.com> X-Mailer: git-send-email 2.30.1 (Apple Git-130) MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Status: No, score=-0.6 required=5.0 tests=DKIM_SIGNED,DKIM_VALID, DKIM_VALID_AU,FREEMAIL_FORGED_FROMDOMAIN,FREEMAIL_FROM, HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,SPF_HELO_NONE, SPF_PASS autolearn=unavailable autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on morse.vger.email Precedence: bulk List-ID: X-Mailing-List: linux-nfs@vger.kernel.org X-Greylist: Sender passed SPF test, not delayed by milter-greylist-4.6.4 (morse.vger.email [0.0.0.0]); Fri, 15 Sep 2023 12:22:06 -0700 (PDT) From: Olga Kornievskaia Currently when client sends an EXCHANGE_ID for a possible trunked connection, for any error that happened, the trunk will be thrown out. However, an NFS4ERR_DELAY is a transient error that should be retried instead. Fixes: e818bd085baf ("NFSv4.1 remove xprt from xprt_switch if session trunking test fails") Signed-off-by: Olga Kornievskaia --- fs/nfs/nfs4proc.c | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/fs/nfs/nfs4proc.c b/fs/nfs/nfs4proc.c index 890ae26006ee..1dafead441c6 100644 --- a/fs/nfs/nfs4proc.c +++ b/fs/nfs/nfs4proc.c @@ -8936,6 +8936,7 @@ void nfs4_test_session_trunk(struct rpc_clnt *clnt, struct rpc_xprt *xprt, sp4_how = (adata->clp->cl_sp4_flags == 0 ? SP4_NONE : SP4_MACH_CRED); +try_again: /* Test connection for session trunking. Async exchange_id call */ task = nfs4_run_exchange_id(adata->clp, adata->cred, sp4_how, xprt); if (IS_ERR(task)) @@ -8948,11 +8949,15 @@ void nfs4_test_session_trunk(struct rpc_clnt *clnt, struct rpc_xprt *xprt, if (status == 0) rpc_clnt_xprt_switch_add_xprt(clnt, xprt); - else if (rpc_clnt_xprt_switch_has_addr(clnt, + else if (status != -NFS4ERR_DELAY && rpc_clnt_xprt_switch_has_addr(clnt, (struct sockaddr *)&xprt->addr)) rpc_clnt_xprt_switch_remove_xprt(clnt, xprt); rpc_put_task(task); + if (status == -NFS4ERR_DELAY) { + ssleep(1); + goto try_again; + } } EXPORT_SYMBOL_GPL(nfs4_test_session_trunk); -- 2.39.1