]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph-client.git/commitdiff
ceph: fix fscache invalidation
authorJeff Layton <jlayton@kernel.org>
Thu, 21 Jan 2021 23:05:37 +0000 (18:05 -0500)
committerJeff Layton <jlayton@kernel.org>
Thu, 28 Jan 2021 12:36:14 +0000 (07:36 -0500)
Ensure that we invalidate the fscache whenever we invalidate the
pagecache.

Signed-off-by: Jeff Layton <jlayton@kernel.org>
fs/ceph/caps.c
fs/ceph/inode.c

index ca07dfc60652080a21442d333f35119562a379d4..c40f713d6d21854b1d05ade6b8255329a5484fc8 100644 (file)
@@ -1867,6 +1867,7 @@ static int try_nonblocking_invalidate(struct inode *inode)
        u32 invalidating_gen = ci->i_rdcache_gen;
 
        spin_unlock(&ci->i_ceph_lock);
+       ceph_fscache_invalidate(inode);
        invalidate_mapping_pages(&inode->i_data, 0, -1);
        spin_lock(&ci->i_ceph_lock);
 
index adc8fc3c5d850d0d08ed84db8ee47c7d2f215146..2caa6df0bcdf29884dc022135fa24163d566de25 100644 (file)
@@ -1906,6 +1906,7 @@ static void ceph_do_invalidate_pages(struct inode *inode)
        orig_gen = ci->i_rdcache_gen;
        spin_unlock(&ci->i_ceph_lock);
 
+       ceph_fscache_invalidate(inode);
        if (invalidate_inode_pages2(inode->i_mapping) < 0) {
                pr_err("invalidate_pages %p fails\n", inode);
        }