afs: Invalidate cache on server data change
authorDavid Howells <dhowells@redhat.com>
Wed, 4 Apr 2018 12:41:25 +0000 (13:41 +0100)
committerDavid Howells <dhowells@redhat.com>
Wed, 4 Apr 2018 12:41:25 +0000 (13:41 +0100)
Invalidate any data stored in fscache for a vnode that changes on the
server so that we don't end up with the cache in a bad state locally.

Signed-off-by: David Howells <dhowells@redhat.com>
fs/afs/inode.c

index 6b39d02..42f83fd 100644 (file)
@@ -343,6 +343,10 @@ void afs_zap_data(struct afs_vnode *vnode)
 {
        _enter("{%x:%u}", vnode->fid.vid, vnode->fid.vnode);
 
+#ifdef CONFIG_AFS_FSCACHE
+       fscache_invalidate(vnode->cache);
+#endif
+
        /* nuke all the non-dirty pages that aren't locked, mapped or being
         * written back in a regular file and completely discard the pages in a
         * directory or symlink */