diff mbox series

[v3] nfs(5): adding new mount option 'fasc'

Message ID 20230828055324.21408-1-chengen.du@canonical.com (mailing list archive)
State New, archived
Headers show
Series [v3] nfs(5): adding new mount option 'fasc' | expand

Commit Message

Chengen Du Aug. 28, 2023, 5:53 a.m. UTC
Add an option that triggers the clearing of the file
access cache as soon as the cache timestamp becomes
older than the user's login time.

Signed-off-by: Chengen Du <chengen.du@canonical.com>
---
 utils/mount/nfs.man | 13 +++++++++++++
 1 file changed, 13 insertions(+)

Comments

Steve Dickson Nov. 10, 2023, 4:54 p.m. UTC | #1
Hello,

My apologies on this delay...

On 8/28/23 1:53 AM, Chengen Du wrote:
> Add an option that triggers the clearing of the file
> access cache as soon as the cache timestamp becomes
> older than the user's login time.
> 
> Signed-off-by: Chengen Du <chengen.du@canonical.com>
On a 6.7-rc0 kernel I'm getting "nfs: Unknown parameter 'fasc'"
error... was this never implemented?

steved.

> ---
>   utils/mount/nfs.man | 13 +++++++++++++
>   1 file changed, 13 insertions(+)
> 
> diff --git a/utils/mount/nfs.man b/utils/mount/nfs.man
> index 9b4bc9c9..2ac7b4ad 100644
> --- a/utils/mount/nfs.man
> +++ b/utils/mount/nfs.man
> @@ -608,6 +608,19 @@ option is not specified,
>   the default behavior depends on the kernel version,
>   but is usually equivalent to
>   .BR "xprtsec=none" .
> +.TP 1.5i
> +.BI fasc
> +Triggers the clearing of the file access cache as soon as the cache
> +timestamp becomes older than the user's login time. It is supported
> +in kernels 6.4 and later.
> +.IP
> +NFS servers often refresh their users' group membership at their
> +own cadence, which means the NFS client's file access cache can
> +become stale if the user's group membership changes on the server
> +after they've logged in on the client. To align with the principles
> +of the POSIX design, which only refreshes the user's supplementary
> +group information upon login, the mechanism uses the user's login
> +time to determine whether the file access cache needs to be refreshed.
>   .SS "Options for NFS versions 2 and 3 only"
>   Use these options, along with the options in the above subsection,
>   for NFS versions 2 and 3 only.
Trond Myklebust Nov. 10, 2023, 7:08 p.m. UTC | #2
On Fri, 2023-11-10 at 11:54 -0500, Steve Dickson wrote:
> Hello,
> 
> My apologies on this delay...
> 
> On 8/28/23 1:53 AM, Chengen Du wrote:
> > Add an option that triggers the clearing of the file
> > access cache as soon as the cache timestamp becomes
> > older than the user's login time.
> > 
> > Signed-off-by: Chengen Du <chengen.du@canonical.com>
> On a 6.7-rc0 kernel I'm getting "nfs: Unknown parameter 'fasc'"
> error... was this never implemented?
> 

No. There are no plans to add any mount parameters for this
functionality.
Steve Dickson Nov. 11, 2023, 2:44 p.m. UTC | #3
On 11/10/23 2:08 PM, Trond Myklebust wrote:
> On Fri, 2023-11-10 at 11:54 -0500, Steve Dickson wrote:
>> Hello,
>>
>> My apologies on this delay...
>>
>> On 8/28/23 1:53 AM, Chengen Du wrote:
>>> Add an option that triggers the clearing of the file
>>> access cache as soon as the cache timestamp becomes
>>> older than the user's login time.
>>>
>>> Signed-off-by: Chengen Du <chengen.du@canonical.com>
>> On a 6.7-rc0 kernel I'm getting "nfs: Unknown parameter 'fasc'"
>> error... was this never implemented?
>>
> 
> No. There are no plans to add any mount parameters for this
> functionality.
Thank you!

steved.

>
Daire Byrne Nov. 14, 2023, 9:31 a.m. UTC | #4
On Sat, 11 Nov 2023 at 14:45, Steve Dickson <steved@redhat.com> wrote:
>
>
>
> On 11/10/23 2:08 PM, Trond Myklebust wrote:
> > On Fri, 2023-11-10 at 11:54 -0500, Steve Dickson wrote:
> >> Hello,
> >>
> >> My apologies on this delay...
> >>
> >> On 8/28/23 1:53 AM, Chengen Du wrote:
> >>> Add an option that triggers the clearing of the file
> >>> access cache as soon as the cache timestamp becomes
> >>> older than the user's login time.
> >>>
> >>> Signed-off-by: Chengen Du <chengen.du@canonical.com>
> >> On a 6.7-rc0 kernel I'm getting "nfs: Unknown parameter 'fasc'"
> >> error... was this never implemented?
> >>
> >
> > No. There are no plans to add any mount parameters for this
> > functionality.
> Thank you!

Just to add, we still revert the patches that changed the default
behaviour from v6.2 onwards.

We found that the access cache not only gets wiped by interactive user
logins, but also various automated processes (e.g. sar/systat
collection) that also frequently "login" across all our clients.

When you scale this up across thousands of clients (render farm), the
result was a 40% increase in (ACCESS) IOPs to our netapps and a 20%
increase in their CPU usage. So we will continue to revert the patches
for as long as we can.

Cheers,

Daire
diff mbox series

Patch

diff --git a/utils/mount/nfs.man b/utils/mount/nfs.man
index 9b4bc9c9..2ac7b4ad 100644
--- a/utils/mount/nfs.man
+++ b/utils/mount/nfs.man
@@ -608,6 +608,19 @@  option is not specified,
 the default behavior depends on the kernel version,
 but is usually equivalent to
 .BR "xprtsec=none" .
+.TP 1.5i
+.BI fasc
+Triggers the clearing of the file access cache as soon as the cache 
+timestamp becomes older than the user's login time. It is supported 
+in kernels 6.4 and later.
+.IP
+NFS servers often refresh their users' group membership at their 
+own cadence, which means the NFS client's file access cache can 
+become stale if the user's group membership changes on the server 
+after they've logged in on the client. To align with the principles 
+of the POSIX design, which only refreshes the user's supplementary 
+group information upon login, the mechanism uses the user's login 
+time to determine whether the file access cache needs to be refreshed.
 .SS "Options for NFS versions 2 and 3 only"
 Use these options, along with the options in the above subsection,
 for NFS versions 2 and 3 only.