Received: by 2002:a05:6a10:206:0:0:0:0 with SMTP id 6csp2051pxj; Tue, 15 Jun 2021 18:12:02 -0700 (PDT) X-Google-Smtp-Source: ABdhPJwnF1PUmpmIwqOTuTBLuszsq14sR4CFLuL+Jc6YmQL+CXb4LuLwz5RcxO2DZGaHmUMGLh/M X-Received: by 2002:a02:956a:: with SMTP id y97mr1743600jah.58.1623805922510; Tue, 15 Jun 2021 18:12:02 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1623805922; cv=none; d=google.com; s=arc-20160816; b=T3RUTTTLctwzUNyhAaWmpYWeGXOmvWMXQISVmRf2bsIHR9WNCofCe2viVKvq41THQk uraspJFnOrx2x48OSN+14BSEVadVCVRmNE5Zyqv95slkgghTdJvCQ1yio4shn8jlTdvN lCFeR0R/paTTaK61voN7UvsRscka8x/B4M5zBPjco+ITnpkvjosmelFEK/2g9Jt/AlV0 lp4gCmJ3z+d9wM0haisMJhkcQVssdbQEaXG/1ZXY+45E3JOiTClsjket5i4ouEvGRJvk gMb/nbVu3eBii2vnMDX5MzB143f0tFSx4hIj+fmBS4oNr/M5yoWLDOjS2/Wx0DBqGb0z gfDw== 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=UFYXooIxSa5ReULONWXd+eAzsgMOWrBDP5X4qSHwSLU=; b=kvOMJAz0SZIvbZTSpipIO84QDIks/4WyhXSJfLiATPBuXoXdmu8rzDjL6D9AqMH8h4 YXZ/nOUddLhRzWzzr9MiXVPH+Wo1pyfj9jagW+KZzkLMBKju48EZ8BVsZ5y0L9jo+8K8 mbe/F70TILEobEA7vrgWLRhOAHASg9QiePERcxEGo4X4f1haQEpBhnKBVjtw84FfSQJp ES2wpswWf5giiEy3cGyODAwzOJVcQmzTefaDKc3h/2HbSwGNXOXry5MWAZx6CQXCiD7C NAfChIYmkPuvCZ60bFg9VEnHXHT8uu47/ttrc7Ua9uOjn0EbFOZKsaEIuqXd8hwPBAiS 3RSg== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@gmail.com header.s=20161025 header.b=BWEstJ4A; spf=pass (google.com: domain of linux-nfs-owner@vger.kernel.org designates 23.128.96.18 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 vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id f6si457356iox.103.2021.06.15.18.11.50; Tue, 15 Jun 2021 18:12:02 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-nfs-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; dkim=pass header.i=@gmail.com header.s=20161025 header.b=BWEstJ4A; spf=pass (google.com: domain of linux-nfs-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-nfs-owner@vger.kernel.org; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S231793AbhFPBMY (ORCPT + 99 others); Tue, 15 Jun 2021 21:12:24 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:43192 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S231703AbhFPBMX (ORCPT ); Tue, 15 Jun 2021 21:12:23 -0400 Received: from mail-qt1-x82e.google.com (mail-qt1-x82e.google.com [IPv6:2607:f8b0:4864:20::82e]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 6D576C061574 for ; Tue, 15 Jun 2021 18:10:17 -0700 (PDT) Received: by mail-qt1-x82e.google.com with SMTP id g12so629951qtb.2 for ; Tue, 15 Jun 2021 18:10:17 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id:mime-version :content-transfer-encoding; bh=UFYXooIxSa5ReULONWXd+eAzsgMOWrBDP5X4qSHwSLU=; b=BWEstJ4ANBPsyZ5lL7O0C4W6K8LljqBCuTCcbG1KnaH3OSW1M6OPA50odFpU1Btela wMUSTmiFi/9a0N1TJOTTiuF0O4OskvPStfdEX8LflZzwfUYyfw9/Dqpv9gzzzLJlrBhY nce9sNGq+Q6SzI4wm3YX4CvfOXPLC53AFoU7gsEuyqs+hjJcSW0TAlg0/AXqBB58yLTy a5zVAMNkmjx728YUhtl4nAscPYnddIrJQdwu5r8c7fsg/XUKh9X0tK/wyr4+3cxBxwQs vKluQppnZUFk1xURUGwLrnMEGupAiu9jYXY7iPtk3S+uye1goBNUy43T/Yh9GLI/3fMU j2rQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:mime-version :content-transfer-encoding; bh=UFYXooIxSa5ReULONWXd+eAzsgMOWrBDP5X4qSHwSLU=; b=gmT7ADZUXFk9uk5hEzGYWQjTCKCDdxhj6oUEhXOWWd84sfSQM6nwzWzTymq+2CblJz FTE+UTu+c3QvihuVl4V/g/mAh2ht1Tm2t183ChnDlM0J7a1Wfd0J+G3Cd7RsJyPfhvDA UL2w8b5CioKuDpJVAU10btYnFj0viBeCHn+fFVs2JCYx0nUvKRcKPEmEUnsHuj+wdNGY rpH960VqYi65dwqVaRWVtRPDIEaMkSSYg5atX/481NT87/wonbqKC6so7cMMo6um92jY WU1iC7yYIO7ktlSlx1MSAxsuk9KlFCJdhnvTxvniGe0Y58VQJ24D5DMvccQDEGY+DVE0 5iZA== X-Gm-Message-State: AOAM530FXJ2X32EZ9YNYw33UAfh861h7La5W673z5Ucy+5ViYpLblPM2 2cU1H2zHA0CFp5uj88hNX07qaFAFwrB3oA== X-Received: by 2002:ac8:5813:: with SMTP id g19mr2525194qtg.383.1623805816594; Tue, 15 Jun 2021 18:10:16 -0700 (PDT) Received: from kolga-mac-1.attlocal.net (172-10-226-31.lightspeed.livnmi.sbcglobal.net. [172.10.226.31]) by smtp.gmail.com with ESMTPSA id m189sm546007qkd.107.2021.06.15.18.10.15 (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Tue, 15 Jun 2021 18:10:15 -0700 (PDT) From: Olga Kornievskaia To: trond.myklebust@hammerspace.com, anna.schumaker@netapp.com Cc: linux-nfs@vger.kernel.org Subject: [PATCH v3 0/6] do not collapse trunkable transports Date: Tue, 15 Jun 2021 21:10:07 -0400 Message-Id: <20210616011013.50547-1-olga.kornievskaia@gmail.com> X-Mailer: git-send-email 2.30.1 (Apple Git-130) MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Precedence: bulk List-ID: X-Mailing-List: linux-nfs@vger.kernel.org From: Olga Kornievskaia This patch series attempts to allow for new mounts that are to the same server (ie nfsv4.1+ session trunkable servers) but different network addresses to use connections associated with those mounts but still use the same client structure. A new mount options, "max_connect", controls how many extra transports can be added to an existing client, with maximum of 16 such transports. v3: -- add a new counter to xprt_switch to keep track of transports with unique addresses -- control of enforcing the limit is moved into the sunrpc layer into the function rpc_clnt_test_and_add_xprt -- after a trunking transport is created if mount request asked for nconnect connections, create as many as the original/first mount had Olga Kornievskaia (6): SUNRPC keep track of number of transports to unique addresses SUNRPC add xps_nunique_destaddr_xprts to xprt_switch_info in sysfs NFSv4 introduce max_connect mount options SUNRPC enforce creation of no more than max_connect xprts NFSv4 add network transport when session trunking is detected NFSv4 allow for nconnect value of trunkable transport fs/nfs/client.c | 2 ++ fs/nfs/fs_context.c | 7 ++++ fs/nfs/internal.h | 2 ++ fs/nfs/nfs4client.c | 50 ++++++++++++++++++++++++++-- fs/nfs/super.c | 2 ++ include/linux/nfs_fs.h | 5 +++ include/linux/nfs_fs_sb.h | 1 + include/linux/sunrpc/clnt.h | 2 ++ include/linux/sunrpc/xprtmultipath.h | 1 + net/sunrpc/clnt.c | 11 +++++- net/sunrpc/sysfs.c | 4 ++- net/sunrpc/xprtmultipath.c | 1 + 12 files changed, 84 insertions(+), 4 deletions(-) -- 2.27.0