Bug 179911

Summary: mmaping over NFS: msync(MS_INVALIDATE) does not do anything.
Product: Red Hat Enterprise Linux 5 Reporter: Daniel Riek <riek>
Component: kernelAssignee: Steve Dickson <steved>
Status: CLOSED WONTFIX QA Contact: Brian Brock <bbrock>
Severity: medium Docs Contact:
Priority: high    
Version: 5.0CC: agud, davej, dzickus, pm-rhel, rperkins, tao
Target Milestone: ---Keywords: FutureFeature
Target Release: ---   
Hardware: All   
OS: Linux   
Fixed In Version: Doc Type: Enhancement
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2006-10-23 14:40:34 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---
Bug Depends On:    
Bug Blocks: 184317    

Comment 1 Ernie Petrides 2006-02-03 23:43:00 UTC
*** Bug 137330 has been marked as a duplicate of this bug. ***

Comment 7 Amit Gud 2006-08-07 21:44:38 UTC
If I'm not wrong, it shouldn't (at least for NFSv3). In fact the case is,
currently MS_INVALIDATE is of no use to us because of the way Linux implements
shared mmap - processes mmapping a common file simply share the memory pages.
So, rightly so, it turns out that MS_INVALIDATE is effectively an implicit
no-op, and currently there are no takers.

SuSv3 standard says "When MS_INVALIDATE is specified, msync() shall invalidate
all cached copies of mapped data that are inconsistent with the permanent
storage locations such that subsequent references shall obtain data that was
consistent with the permanent storage locations sometime between the call to
msync() and the first subsequent memory reference to the data."

This makes sense for a network file system (like NFS!) that all the client
caches (mmappings) of the data (file) be invalidated. But, being stateless, NFS
server doesn't care about which clients uses what files and how. So IMO, for NFS
MS_INVALIDATE is again a no-op.

Comment 9 RHEL Product and Program Management 2006-10-23 14:40:35 UTC
Development Management has reviewed and declined this request.  You may appeal
this decision by reopening this request.