Description of problem: A patch was misapplied to the NFS client in RHEL 4 update 3. The patch adds a function which is not used, and results in extra GETATTRs on the wire. Version-Release number of selected component (if applicable): kernel 2.6.9-34.EL How reproducible: Run connectathon suite -- happens every time.
Created attachment 143457 [details] fix application of misapplied patch in NFS client
Created attachment 143458 [details] fix file size revalidation logic
Created attachment 143459 [details] use jiffies as the inode change attribute value
Created attachment 143460 [details] missed a spot
Added three additional patches... these make the usage of nfs_update_inode() consistent between nfs_refresh_inode() and __nfs_revalidate_inode(). The update 3 version of nfs_refresh_inode() was using fattr->time_start as a verifier, while __nfs_revalidate_inode() was using an inode change attribute, which is not a time-based value.
Created attachment 143581 [details] save attribute cache after end_data_update
Created attachment 143582 [details] fix for previous patch
Created attachment 143583 [details] another cache consistency regression I ported three additional mainline patches to RHEL 4 update 4. This completes the fix for this bug. I split the patches out to document the source of each fix.
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 release.
I think that this situation should be addressed by the changes for bz321101. That bug describes the fact that the RHEL-4 client issues many more operations over the wire than does RHEL-3. *** This bug has been marked as a duplicate of 321101 ***