Received: by 2002:a05:6520:4211:b029:f4:110d:56bc with SMTP id o17csp1599544lkv; Wed, 19 May 2021 13:45:30 -0700 (PDT) X-Google-Smtp-Source: ABdhPJzcIJ1AaBrbiRYmxtJ/6jPgnu85jSbGe60dm9zRTPI5lRqo5fJ6P6+mDxKiSSYTWA6KEkeN X-Received: by 2002:a6b:f815:: with SMTP id o21mr1450713ioh.0.1621457129792; Wed, 19 May 2021 13:45:29 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1621457129; cv=none; d=google.com; s=arc-20160816; b=FUTVbtJzRiH5FyIToGOLMMX6LJd8TrnadBQwOWyEQikVg12IUlLkxse46fpRazTQZg kVrnByqH1ptn+z1EkZmH7LJNKmu5Y6I0Ci2dUyRRmFk4tHtFGsScbmXOjRqlnIQYfMFa 8YIvBw2EjvZGWgZM/iO9PMUVkyatJbsW1pQcDUTN47X820KAgtM7738qoNobMiRXU+GU g5dhRdQEF3qCH4Xy08PYPeXeO86UNekar8fcRyuw+/95di3hBcTZi0QxSQQ4M+CqRm3c aASzP+uRgX9EX3gxem8en+HCRz/8jP6GujLB1lGVSkDr/LfNrzATORDrarwkqVjA8jXq EwiQ== 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=ajnwiA6MbOl9sQ6VjWAKpt+KmL7izO4+XcmEYHvSUmk=; b=mTdsuUtpSIKtRnbcwqa6mEmZxgPrIHUaGcFmXAcl1K9MDfJCgKHgPPIquu2G518xv+ ib1VJw7scEz69rYKEgMq6zfZDsnTs5wtbuqCDYihZP+DYEVjXLcGI8svd2whke2JC2w4 J5cLEWnIaszgvodEWITVVe+LYVOhYUhiF9m9/bxW1Neila//GYE5jS9l05BTgijVIMe4 zTt0XVMS4xtoPkxkLAnjWOx5JmH1NquYV1AfcTN4B81VWZWZhcUBxtx2mKQ2YcrpEoqa DjwSGVSiBX5sY3Thn2/4VUxZYBZYMXMf9RnXBPqpztdu7fqJVHnI6auLG3WN5Ve9InWf wt0Q== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@oracle.com header.s=corp-2020-01-29 header.b=U9hYXiFA; 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=NONE dis=NONE) header.from=oracle.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id c6si427761iot.35.2021.05.19.13.45.04; Wed, 19 May 2021 13:45:29 -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=@oracle.com header.s=corp-2020-01-29 header.b=U9hYXiFA; 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=NONE dis=NONE) header.from=oracle.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S229455AbhESUpv (ORCPT + 99 others); Wed, 19 May 2021 16:45:51 -0400 Received: from mx0b-00069f02.pphosted.com ([205.220.177.32]:33678 "EHLO mx0b-00069f02.pphosted.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229448AbhESUpu (ORCPT ); Wed, 19 May 2021 16:45:50 -0400 Received: from pps.filterd (m0246632.ppops.net [127.0.0.1]) by mx0b-00069f02.pphosted.com (8.16.0.43/8.16.0.43) with SMTP id 14JKfAX2005125; Wed, 19 May 2021 20:44:27 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.com; h=from : to : cc : subject : date : message-id : mime-version : content-transfer-encoding; s=corp-2020-01-29; bh=ajnwiA6MbOl9sQ6VjWAKpt+KmL7izO4+XcmEYHvSUmk=; b=U9hYXiFAVLoWGj0kxZ2H8SWbD/qz/W8ko2Ec9dqnp3PlXUasLQAN0bV8upHLMAU+l3Iv A7CLmlSxRz4bycFb3G/B+PfyT1zE8ReqtSwUkLkrEw2yrvt/tKyR1I+m+P/6mtgL9CLU QCmhuKKzmKba4haQSIv81/X4TtgswrAJZYptExCqosGUA03NV8zM0/NUgGYJqsdgdYgE Wl4pEsWm16THxx2pCQZgidOpsjZKRqkzFEls5lQlwCIyXe56xEfG860CnSkt4YM/LNeZ g9RuRpKy46QiIHaMD9h5iIkIVMXrAJ/dPL4N0Wt6YaoqwFjsTK7dhDVHqnbw4FuobTZV xg== Received: from oracle.com (aserp3030.oracle.com [141.146.126.71]) by mx0b-00069f02.pphosted.com with ESMTP id 38n4ukr54k-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Wed, 19 May 2021 20:44:27 +0000 Received: from aserp3030.oracle.com (aserp3030.oracle.com [127.0.0.1]) by pps.podrdrct (8.16.0.36/8.16.0.36) with SMTP id 14JKiQrR050470; Wed, 19 May 2021 20:44:26 GMT Received: from pps.reinject (localhost [127.0.0.1]) by aserp3030.oracle.com with ESMTP id 38meegdf5y-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Wed, 19 May 2021 20:44:26 +0000 Received: from aserp3030.oracle.com (aserp3030.oracle.com [127.0.0.1]) by pps.reinject (8.16.0.36/8.16.0.36) with SMTP id 14JKiPM4050452; Wed, 19 May 2021 20:44:25 GMT Received: from userp3030.oracle.com (ksplice-shell2.us.oracle.com [10.152.118.36]) by aserp3030.oracle.com with ESMTP id 38meegdf5s-1; Wed, 19 May 2021 20:44:25 +0000 From: Dai Ngo To: olga.kornievskaia@gmail.com, bfields@fieldses.org Cc: linux-nfs@vger.kernel.org, trondmy@hammerspace.com, chuck.lever@oracle.com Subject: [PATCH v6 0/2] NFSD: delay unmount source's export after inter-server copy completed. Date: Wed, 19 May 2021 16:44:19 -0400 Message-Id: <20210519204421.22869-1-dai.ngo@oracle.com> X-Mailer: git-send-email 2.20.1.1226.g1595ea5.dirty MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Proofpoint-GUID: aAcBDjT0snkK4Gcarr3fLMDKPE5UZ4qa X-Proofpoint-ORIG-GUID: aAcBDjT0snkK4Gcarr3fLMDKPE5UZ4qa Precedence: bulk List-ID: X-Mailing-List: linux-nfs@vger.kernel.org Hi Olga, Bruce, Currently the source's export is mounted and unmounted on every inter-server copy operation. This causes unnecessary overhead for each copy. This patch series is an enhancement to allow the export to remain mounted for a configurable period (default to 15 minutes). If the export is not being used for the configured time it will be unmounted by a delayed task. If it's used again then its expiration time is extended for another period. Since mount and unmount are no longer done on every copy request, the restriction of copy size (14*rsize), in __nfs4_copy_file_range, is removed. -Dai v2: fix compiler warning of missing prototype. v3: remove the used of semaphore. eliminated all RPC calls for subsequence mount by allowing all exports from one server to share one vfsmount. make inter-server threshold a module configuration parameter. v4: convert nsui_refcnt to use refcount_t. add note about 20secs wait in nfsd4_interssc_connect. removed (14*rsize) restriction from __nfs4_copy_file_range. v5: make use of the laundomat thread to service delayed unmount list. destroy delayed unmount list when nfsd is shutdown. make delayed unmount list per nfsd_net to support container. v6: move content of nfsd4_ssc_umount in to nfsd_net. move code that manages the delayed unmount list from nfsd/nfs4proc.c to nfsd/nfs4state.c cleanup left over from previous versions.