|Summary:||mmaping over NFS: msync(MS_INVALIDATE) does not do anything.|
|Product:||Red Hat Enterprise Linux 5||Reporter:||Daniel Riek <riek>|
|Component:||kernel||Assignee:||Steve Dickson <steved>|
|Status:||CLOSED WONTFIX||QA Contact:||Brian Brock <bbrock>|
|Version:||5.0||CC:||agud, davej, dzickus, pm-rhel, rperkins, tao|
|Fixed In Version:||Doc Type:||Enhancement|
|Doc Text:||Story Points:||---|
|Last Closed:||2006-10-23 14:40:34 UTC||Type:||---|
|oVirt Team:||---||RHEL 7.3 requirements from Atomic Host:|
|Bug Depends On:|
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.