Re: [PATCH v0] f2fs: allow direct read for zoned device

From: Jaegeuk Kim
Date: Sat Jul 30 2022 - 21:40:06 EST


On 07/29, Eunhee Rho wrote:
> For zoned devices, f2fs forbids direct IO and forces buffered IO
> to serialize write IOs. However, the constraint does not apply to
> read IOs.
>
> Signed-off-by: Eunhee Rho <eunhee83.rho@xxxxxxxxxxx>
> ---
> fs/f2fs/f2fs.h | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/fs/f2fs/f2fs.h b/fs/f2fs/f2fs.h
> index d0f428aef34b..f69731f17402 100644
> --- a/fs/f2fs/f2fs.h
> +++ b/fs/f2fs/f2fs.h
> @@ -4471,7 +4471,7 @@ static inline bool f2fs_force_buffered_io(struct inode *inode,
> * for blkzoned device, fallback direct IO to buffered IO, so
> * all IOs can be serialized by log-structured write.
> */
> - if (f2fs_sb_has_blkzoned(sbi))
> + if (f2fs_sb_has_blkzoned(sbi) && (rw == WRITE))
> return true;

Actually we don't need to check the device type, but rely on the
filesystem allocation policy like the below lfs mode. Can we remove this
line simply?

> if (f2fs_lfs_mode(sbi) && (rw == WRITE)) {
> if (block_unaligned_IO(inode, iocb, iter))
> --
> 2.25.1