fs/9p: fix dups even in uncached mode
authorEric Van Hensbergen <ericvh@kernel.org>
Sat, 6 Jan 2024 18:47:23 +0000 (18:47 +0000)
committerEric Van Hensbergen <ericvh@kernel.org>
Fri, 26 Jan 2024 16:46:56 +0000 (16:46 +0000)
In uncached mode we were still seeing duplicate getattr requests
because of aggressive dropping of inodes.  Inode "freshness" is
guarded by other mechanisms when caches are disabled so this
is unnecessary and increases overhead of almost every operation.

Signed-off-by: Eric Van Hensbergen <ericvh@kernel.org>
fs/9p/vfs_super.c

index eeac06c2a84cf9e51cd9e629a6cf9ccb5070b915..4236058c7bbd18b726925e808e73bcb6c08edfeb 100644 (file)
@@ -244,21 +244,6 @@ done:
        return res;
 }
 
-static int v9fs_drop_inode(struct inode *inode)
-{
-       struct v9fs_session_info *v9ses;
-
-       v9ses = v9fs_inode2v9ses(inode);
-       if (v9ses->cache & (CACHE_META|CACHE_LOOSE))
-               return generic_drop_inode(inode);
-       /*
-        * in case of non cached mode always drop the
-        * inode because we want the inode attribute
-        * to always match that on the server.
-        */
-       return 1;
-}
-
 static int v9fs_write_inode(struct inode *inode,
                            struct writeback_control *wbc)
 {
@@ -293,7 +278,6 @@ static const struct super_operations v9fs_super_ops_dotl = {
        .alloc_inode = v9fs_alloc_inode,
        .free_inode = v9fs_free_inode,
        .statfs = v9fs_statfs,
-       .drop_inode = v9fs_drop_inode,
        .evict_inode = v9fs_evict_inode,
        .show_options = v9fs_show_options,
        .umount_begin = v9fs_umount_begin,