Description of problem:
Both the 'noac' and 'actimeo=0' mount options should ensure that attributes
are not cached, however a bug in nfs_attribute_timeout() means that
currently, the attributes may in fact get cached for up to one jiffy. This
has been seen to cause corruption in some applications.
The reason for the bug is that the time_in_range() test returns 'true' as
long as the current time lies between nfsi->read_cache_jiffies and
nfsi->read_cache_jiffies + nfsi->attrtimeo. In other words, if jiffies
equals nfsi->read_cache_jiffies, then we still cache the attribute data.
Version-Release number of selected component (if applicable):
Dependent on NFS server and workload
Steps to Reproduce:
1. have one client host extend a file on an NFS volume
2. have another client host stat & attempt to write into the newly extended area
The second host does not see the change in file size made by the first
immediately despite the use of noac/actimeo=0.
The change to the size is immediately reflected on all clients.
Thread/patch from linux-nfs: http://article.gmane.org/gmane.linux.nfs/20074
Created attachment 306286 [details]
[PATCH] NFS: Fix nfs_attribute_timeout to ensure it works with actimeo=0
The patch against RHEL-4 is identical. Only the line numbers change in the
diff. The attached patch was tested at NetApp, and appears to fix the bug in
I believe this bug is effecting me. Is there any movement from RedHat to
integrate this patch?
This request was evaluated by Red Hat Product Management for inclusion in a Red
Hat Enterprise Linux maintenance release. Product Management has requested
further review of this request by Red Hat Engineering, for potential
inclusion in a Red Hat Enterprise Linux Update release for currently deployed
products. This request is not yet committed for inclusion in an Update
Created attachment 308709 [details]
Committed in 78.4.EL . RPMS are available at http://people.redhat.com/vgoyal/rhel4/
Updating PM score.
An advisory has been issued which should help the problem
described in this bug report. This report is therefore being
closed with a resolution of ERRATA. For more information
on therefore solution and/or where to find the updated files,
please follow the link below. You may reopen this bug report
if the solution does not work for you.