]> err.no Git - linux-2.6/commit
NFS: Fix a few further cache consistency regressions
authorTrond Myklebust <Trond.Myklebust@netapp.com>
Sat, 3 Dec 2005 20:20:07 +0000 (15:20 -0500)
committerTrond Myklebust <Trond.Myklebust@netapp.com>
Sat, 3 Dec 2005 20:20:07 +0000 (15:20 -0500)
commit24aa1fe6779eaddb3e0b1b802585dcf6faf9cc44
treedc851edc67202f459262985db0cd451b1d523462
parent223db122bfccd463751d8b0c09a638abee03681d
NFS: Fix a few further cache consistency regressions

 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: Trond Myklebust <Trond.Myklebust@netapp.com>
fs/nfs/inode.c