There appears to be a typo in the comparison statement for the logic
which sets a file's cache mode based on mount flags.
Signed-off-by: Eric Van Hensbergen <ericvh@kernel.org>
---
fs/9p/fid.h | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/fs/9p/fid.h b/fs/9p/fid.h
index 0c51889a60b33..297c2c377e3dd 100644
--- a/fs/9p/fid.h
+++ b/fs/9p/fid.h
@@ -57,7 +57,7 @@ static inline void v9fs_fid_add_modes(struct p9_fid *fid, int s_flags,
(s_flags & V9FS_DIRECT_IO) || (f_flags & O_DIRECT)) {
fid->mode |= P9L_DIRECT; /* no read or write cache */
} else if ((!(s_cache & CACHE_WRITEBACK)) ||
- (f_flags & O_DSYNC) | (s_flags & V9FS_SYNC)) {
+ (f_flags & O_DSYNC) || (s_flags & V9FS_SYNC)) {
fid->mode |= P9L_NOWRITECACHE;
}
}
--
2.39.2
Eric Van Hensbergen wrote on Mon, Jul 17, 2023 at 04:29:01PM +0000:
> There appears to be a typo in the comparison statement for the logic
> which sets a file's cache mode based on mount flags.
Shouldn't break anything, but good fix nevertheless, thanks!
Reviewed-by: Dominique Martinet <asmadeus@codewreck.org>
>
> Signed-off-by: Eric Van Hensbergen <ericvh@kernel.org>
> ---
> fs/9p/fid.h | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/fs/9p/fid.h b/fs/9p/fid.h
> index 0c51889a60b33..297c2c377e3dd 100644
> --- a/fs/9p/fid.h
> +++ b/fs/9p/fid.h
> @@ -57,7 +57,7 @@ static inline void v9fs_fid_add_modes(struct p9_fid *fid, int s_flags,
> (s_flags & V9FS_DIRECT_IO) || (f_flags & O_DIRECT)) {
> fid->mode |= P9L_DIRECT; /* no read or write cache */
> } else if ((!(s_cache & CACHE_WRITEBACK)) ||
> - (f_flags & O_DSYNC) | (s_flags & V9FS_SYNC)) {
> + (f_flags & O_DSYNC) || (s_flags & V9FS_SYNC)) {
> fid->mode |= P9L_NOWRITECACHE;
> }
> }
>
--
Dominique Martinet | Asmadeus
On Tuesday, July 18, 2023 4:48:53 AM CEST Dominique Martinet wrote:
> Eric Van Hensbergen wrote on Mon, Jul 17, 2023 at 04:29:01PM +0000:
> > There appears to be a typo in the comparison statement for the logic
> > which sets a file's cache mode based on mount flags.
>
> Shouldn't break anything, but good fix nevertheless, thanks!
>
> Reviewed-by: Dominique Martinet <asmadeus@codewreck.org>
Right, at least AFAICS I would not expect any visible behaviour change by this
patch at all. So this patch is probably just a formal fix.
BTW there are a bunch of unnecessary braces in this function:
(!s_cache) -> !s_cache
(fid->qid.version == 0) -> fid->qid.version == 0
(!(s_cache & CACHE_WRITEBACK)) -> !(s_cache & CACHE_WRITEBACK)
These could be wiped in a separate patch as well. Anyway ...
Reviewed-by: Christian Schoenebeck <linux_oss@crudebyte.com>
> >
> > Signed-off-by: Eric Van Hensbergen <ericvh@kernel.org>
> > ---
> > fs/9p/fid.h | 2 +-
> > 1 file changed, 1 insertion(+), 1 deletion(-)
> >
> > diff --git a/fs/9p/fid.h b/fs/9p/fid.h
> > index 0c51889a60b33..297c2c377e3dd 100644
> > --- a/fs/9p/fid.h
> > +++ b/fs/9p/fid.h
> > @@ -57,7 +57,7 @@ static inline void v9fs_fid_add_modes(struct p9_fid *fid, int s_flags,
> > (s_flags & V9FS_DIRECT_IO) || (f_flags & O_DIRECT)) {
> > fid->mode |= P9L_DIRECT; /* no read or write cache */
> > } else if ((!(s_cache & CACHE_WRITEBACK)) ||
> > - (f_flags & O_DSYNC) | (s_flags & V9FS_SYNC)) {
> > + (f_flags & O_DSYNC) || (s_flags & V9FS_SYNC)) {
> > fid->mode |= P9L_NOWRITECACHE;
> > }
> > }
> >
>
>
© 2016 - 2026 Red Hat, Inc.