@@ -83,6 +83,7 @@ static void cifs_set_ops(struct inode *inode)
83
83
static void
84
84
cifs_revalidate_cache (struct inode * inode , struct cifs_fattr * fattr )
85
85
{
86
+ struct cifs_fscache_inode_coherency_data cd ;
86
87
struct cifsInodeInfo * cifs_i = CIFS_I (inode );
87
88
88
89
cifs_dbg (FYI , "%s: revalidating inode %llu\n" ,
@@ -113,6 +114,9 @@ cifs_revalidate_cache(struct inode *inode, struct cifs_fattr *fattr)
113
114
cifs_dbg (FYI , "%s: invalidating inode %llu mapping\n" ,
114
115
__func__ , cifs_i -> uniqueid );
115
116
set_bit (CIFS_INO_INVALID_MAPPING , & cifs_i -> flags );
117
+ /* Invalidate fscache cookie */
118
+ cifs_fscache_fill_coherency (& cifs_i -> vfs_inode , & cd );
119
+ fscache_invalidate (cifs_inode_cookie (inode ), & cd , i_size_read (inode ), 0 );
116
120
}
117
121
118
122
/*
@@ -2261,8 +2265,6 @@ cifs_dentry_needs_reval(struct dentry *dentry)
2261
2265
int
2262
2266
cifs_invalidate_mapping (struct inode * inode )
2263
2267
{
2264
- struct cifs_fscache_inode_coherency_data cd ;
2265
- struct cifsInodeInfo * cifsi = CIFS_I (inode );
2266
2268
int rc = 0 ;
2267
2269
2268
2270
if (inode -> i_mapping && inode -> i_mapping -> nrpages != 0 ) {
@@ -2272,8 +2274,6 @@ cifs_invalidate_mapping(struct inode *inode)
2272
2274
__func__ , inode );
2273
2275
}
2274
2276
2275
- cifs_fscache_fill_coherency (& cifsi -> vfs_inode , & cd );
2276
- fscache_invalidate (cifs_inode_cookie (inode ), & cd , i_size_read (inode ), 0 );
2277
2277
return rc ;
2278
2278
}
2279
2279
0 commit comments