mbox series

[v3,0/2] NFSD: delay unmount source's export after inter-server copy completed.

Message ID 20210409180519.25405-1-dai.ngo@oracle.com (mailing list archive)
Headers show
Series NFSD: delay unmount source's export after inter-server copy completed. | expand

Message

Dai Ngo April 9, 2021, 6:05 p.m. UTC
Hi Olga,

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 each copy request,
this overhead is no longer used to decide whether the copy should
be done with inter-server copy or generic copy. The threshold is
now a module configuration parameter, default to 16MB.

-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.

Comments

Chuck Lever April 11, 2021, 4:46 p.m. UTC | #1
> On Apr 9, 2021, at 2:05 PM, Dai Ngo <dai.ngo@oracle.com> wrote:
> 
> Hi Olga,
> 
> 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 each copy request,
> this overhead is no longer used to decide whether the copy should
> be done with inter-server copy or generic copy. The threshold is
> now a module configuration parameter, default to 16MB.
> 
> -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.

This series is close, but it doesn't seem 100% ready yet. Let's
defer it for the next merge window to give a little more time for
review, testing, and discussion.


--
Chuck Lever