lists.openwall.net | lists / announce owl-users owl-dev john-users john-dev passwdqc-users yescrypt popa3d-users / oss-security kernel-hardening musl sabotage tlsify passwords / crypt-dev xvendor / Bugtraq Full-Disclosure linux-kernel linux-netdev linux-ext4 linux-hardening PHC | |
Open Source and information security mailing list archives
| ||
|
Date: Sat, 23 Jul 2022 19:01:59 -0700 From: Jaegeuk Kim <jaegeuk@...nel.org> To: Eric Biggers <ebiggers@...nel.org> Cc: linux-fsdevel@...r.kernel.org, linux-ext4@...r.kernel.org, linux-f2fs-devel@...ts.sourceforge.net, linux-xfs@...r.kernel.org, linux-api@...r.kernel.org, linux-fscrypt@...r.kernel.org, linux-block@...r.kernel.org, linux-kernel@...r.kernel.org, Keith Busch <kbusch@...nel.org> Subject: Re: [PATCH v4 6/9] f2fs: don't allow DIO reads but not DIO writes On 07/22, Eric Biggers wrote: > From: Eric Biggers <ebiggers@...gle.com> > > Currently, if an f2fs filesystem is mounted with the mode=lfs and > io_bits mount options, DIO reads are allowed but DIO writes are not. > Allowing DIO reads but not DIO writes is an unusual restriction, which > is likely to be surprising to applications, namely any application that > both reads and writes from a file (using O_DIRECT). This behavior is > also incompatible with the proposed STATX_DIOALIGN extension to statx. > Given this, let's drop the support for DIO reads in this configuration. IIRC, we allowed DIO reads since applications complained a lower performance. So, I'm afraid this change will make another confusion to users. Could you please apply the new bahavior only for STATX_DIOALIGN? > > Signed-off-by: Eric Biggers <ebiggers@...gle.com> > --- > fs/f2fs/file.c | 3 +-- > 1 file changed, 1 insertion(+), 2 deletions(-) > > diff --git a/fs/f2fs/file.c b/fs/f2fs/file.c > index 5e5c97fccfb4ee..ad0212848a1ab9 100644 > --- a/fs/f2fs/file.c > +++ b/fs/f2fs/file.c > @@ -823,7 +823,6 @@ static inline bool f2fs_force_buffered_io(struct inode *inode, > struct kiocb *iocb, struct iov_iter *iter) > { > struct f2fs_sb_info *sbi = F2FS_I_SB(inode); > - int rw = iov_iter_rw(iter); > > if (!fscrypt_dio_supported(inode)) > return true; > @@ -841,7 +840,7 @@ static inline bool f2fs_force_buffered_io(struct inode *inode, > */ > if (f2fs_sb_has_blkzoned(sbi)) > return true; > - if (f2fs_lfs_mode(sbi) && (rw == WRITE)) { > + if (f2fs_lfs_mode(sbi)) { > if (block_unaligned_IO(inode, iocb, iter)) > return true; > if (F2FS_IO_ALIGNED(sbi)) > -- > 2.37.0
Powered by blists - more mailing lists