Patch "fs/9p: fix the cache always being enabled on files with qid flags" has been added to the 6.8-stable tree

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



This is a note to let you know that I've just added the patch titled

    fs/9p: fix the cache always being enabled on files with qid flags

to the 6.8-stable tree which can be found at:
    http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary

The filename of the patch is:
     fs-9p-fix-the-cache-always-being-enabled-on-files-wi.patch
and it can be found in the queue-6.8 subdirectory.

If you, or anyone else, feels it should not be added to the stable tree,
please let <stable@xxxxxxxxxxxxxxx> know about it.



commit b5f0b522ae485aedb920a747e2e99507f99a5a64
Author: Joakim Sindholt <opensource@xxxxxxxxxx>
Date:   Mon Mar 18 12:22:34 2024 +0100

    fs/9p: fix the cache always being enabled on files with qid flags
    
    [ Upstream commit 4e5d208cc9bd5fbc95d536fa223b4b14c37b8ca8 ]
    
    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 <opensource@xxxxxxxxxx>
    Signed-off-by: Eric Van Hensbergen <ericvh@xxxxxxxxxx>
    Signed-off-by: Sasha Levin <sashal@xxxxxxxxxx>

diff --git a/fs/9p/fid.h b/fs/9p/fid.h
index 29281b7c38870..0d6138bee2a3d 100644
--- a/fs/9p/fid.h
+++ b/fs/9p/fid.h
@@ -49,9 +49,6 @@ static inline struct p9_fid *v9fs_fid_clone(struct dentry *dentry)
 static inline void v9fs_fid_add_modes(struct p9_fid *fid, unsigned int s_flags,
 	unsigned int s_cache, unsigned int f_flags)
 {
-	if (fid->qid.type != P9_QTFILE)
-		return;
-
 	if ((!s_cache) ||
 	   ((fid->qid.version == 0) && !(s_flags & V9FS_IGNORE_QV)) ||
 	   (s_flags & V9FS_DIRECT_IO) || (f_flags & O_DIRECT)) {




[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux