• Trond Myklebust's avatar
    NFS: Fix a few further cache consistency regressions · 24aa1fe6
    Trond Myklebust authored
     Steve Dickson writes:
     Doing the following:
     1. On server:
     $ mkdir ~/t
     $ echo Hello > ~/t/tmp
    
     2. On client, wait for a string to appear in this file:
     $ until grep -q foo t/tmp ; do echo -n . ; sleep 1 ; done
    
     3. On server, create a *new* file with the same name containing that
     string:
     $ mv ~/t/tmp ~/t/tmp.old; echo foo > ~/t/tmp
    
     will show how the client will never (and I mean never ;-) ) see
     the updated file.
    
     The problem is that we do not update nfsi->cache_change_attribute when the
     file changes on the server (we only update it when our client makes the
     changes). This again means that functions like nfs_check_verifier() will
     fail to register when the parent directory has changed and should trigger
     a dentry lookup revalidation.
    Signed-off-by: default avatarTrond Myklebust <Trond.Myklebust@netapp.com>
    24aa1fe6
inode.c 58 KB