• Trond Myklebust's avatar
    NFS: Don't let the ctime override attribute barriers. · 7c2dad99
    Trond Myklebust authored
    Chuck reports seeing cases where a GETATTR that happens to race
    with an asynchronous WRITE is overriding the file size, despite
    the attribute barrier being set by the writeback code.
    
    The culprit turns out to be the check in nfs_ctime_need_update(),
    which sees that the ctime is newer than the cached ctime, and
    assumes that it is safe to override the attribute barrier.
    This patch removes that override, and ensures that attribute
    barriers are always respected.
    Reported-by: default avatarChuck Lever <chuck.lever@oracle.com>
    Fixes: a08a8cd3 ("NFS: Add attribute update barriers to NFS writebacks")
    Cc: stable@vger.kernel.org # v4.0+
    Signed-off-by: default avatarTrond Myklebust <trond.myklebust@primarydata.com>
    7c2dad99
inode.c 55.9 KB