Bug 1563508

Summary: noatime/nodiratime/relatime support for GlusterFS FUSE client
Product: [Red Hat Storage] Red Hat Gluster Storage Reporter: Csaba Henk <csaba>
Component: fuseAssignee: Csaba Henk <csaba>
Status: CLOSED WONTFIX QA Contact: Rahul Hinduja <rhinduja>
Severity: high Docs Contact:
Priority: unspecified    
Version: unspecifiedCC: jbyers, nchilaka, rhs-bugs, sheggodu, storage-qa-internal
Target Milestone: ---Keywords: ZStream
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of:
: 1563509 (view as bug list) Environment:
Last Closed: 2018-11-30 04:55:29 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On: 1563509, 1648781    
Bug Blocks:    

Description Csaba Henk 2018-04-04 04:15:51 UTC
noatime/nodiratime/relatime mount flags are not honored by fuse.

We can observe GETATTR request overhead for read-only workloads, as fuse kernel component unconditionally invalidates attributes  upon read -- overriding its own mechanism for relaxing GETTATTR flow, the attribute timeout -- to force retrieval of up-to-date atimes.

To relax this user's attempt to "unsusbcribe" of atime updates via said mount flags should be honored.

Comment 4 Csaba Henk 2018-11-30 04:55:29 UTC
Miklos' recent work on trimming GETATTR requestst on read -- see upstream commits at https://git.kernel.org/pub/scm/linux/kernel/git/mszeredi/fuse.git/log/?h=fuse-update-4.20, this list of changes:

fuse: only invalidate atime in direct read
fuse: don't need GETATTR after every READ
fuse: allow fine grained attr cache invaldation

or Bug 1650538 for the RHEL 8 version -- makes this request unneeded, as with this optimization there is no need to make special allowances for noatime/nodiratime/relatime mount modes.