• Trond Myklebust's avatar
    NFS: Fix the NFS attribute update · a10ad176
    Trond Myklebust authored
    Currently nfs_refresh_inode() will only update the inode metadata if it
    sees that the RPC call that returned the nfs_fattr was started
    after the last update of the inode. This means that if we have parallel
    RPC calls to the same inode (when sending WRITE calls, for instance), we
    may often miss updates.
    
    This patch attempts to recover those missed updates by also accepting
    them if the ctime in the nfs_fattr is more recent than the inode's
    cached ctime.
    It also recovers the case where the file size has increased, but the
    ctime has not been updated due to limited ctime resolution.
    Signed-off-by: default avatarTrond Myklebust <Trond.Myklebust@netapp.com>
    a10ad176
inode.c 39.1 KB