Skip to content

Commit 4e5d208

Browse files
zhashaericvh
authored andcommitted
fs/9p: fix the cache always being enabled on files with qid flags
I'm not sure why this check was ever here. After updating to 6.6 I suddenly found caching had been turned on by default and neither cache=none nor the new directio would turn it off. After walking through the new code very manually I realized that it's because the caching has to be, in effect, turned off explicitly by setting P9L_DIRECT and whenever a file has a flag, in my case QTAPPEND, it doesn't get set. Setting aside QTDIR which seems to ignore the new fid->mode entirely, the rest of these either should be subject to the same cache rules as every other QTFILE or perhaps very explicitly not cached in the case of QTAUTH. Signed-off-by: Joakim Sindholt <[email protected]> Signed-off-by: Eric Van Hensbergen <[email protected]>
1 parent 87de39e commit 4e5d208

File tree

1 file changed

+0
-3
lines changed

1 file changed

+0
-3
lines changed

fs/9p/fid.h

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -49,9 +49,6 @@ static inline struct p9_fid *v9fs_fid_clone(struct dentry *dentry)
4949
static inline void v9fs_fid_add_modes(struct p9_fid *fid, unsigned int s_flags,
5050
unsigned int s_cache, unsigned int f_flags)
5151
{
52-
if (fid->qid.type != P9_QTFILE)
53-
return;
54-
5552
if ((!s_cache) ||
5653
((fid->qid.version == 0) && !(s_flags & V9FS_IGNORE_QV)) ||
5754
(s_flags & V9FS_DIRECT_IO) || (f_flags & O_DIRECT)) {

0 commit comments

Comments
 (0)