[PATCH v2 5/7] fs/9p: non-.L: Refresh stale inodes on reuse
Tingmao Wang
m at maowtm.org
Thu Sep 4 00:04:15 UTC 2025
This replicates the previous .L commit for non-.L
Signed-off-by: Tingmao Wang <m at maowtm.org>
---
Changes since v1:
- Check cache bits instead of using `new` - uncached mode now also have
new=0.
fs/9p/vfs_inode.c | 7 ++++++-
1 file changed, 6 insertions(+), 1 deletion(-)
diff --git a/fs/9p/vfs_inode.c b/fs/9p/vfs_inode.c
index 606760f966fd..4b4712eafe4d 100644
--- a/fs/9p/vfs_inode.c
+++ b/fs/9p/vfs_inode.c
@@ -473,6 +473,7 @@ static struct inode *v9fs_qid_iget(struct super_block *sb, struct p9_qid *qid,
.dentry = dentry,
.need_double_check = false,
};
+ bool cached = v9ses->cache & (CACHE_META | CACHE_LOOSE);
if (new)
test = v9fs_test_new_inode;
@@ -512,8 +513,12 @@ static struct inode *v9fs_qid_iget(struct super_block *sb, struct p9_qid *qid,
if (!inode)
return ERR_PTR(-ENOMEM);
- if (!(inode->i_state & I_NEW))
+ if (!(inode->i_state & I_NEW)) {
+ /* See explanation in v9fs_qid_iget_dotl */
+ if (!cached)
+ v9fs_stat2inode(st, inode, sb, 0);
return inode;
+ }
/*
* initialize the inode with the stat info
* FIXME!! we may need support for stale inodes
--
2.51.0
More information about the Linux-security-module-archive
mailing list