On 2020/1/7 10:07, Jaegeuk Kim wrote: > Setting 0x40 in /sys/fs/f2fs/dev/ipu_policy gives a way to turn off > bio cache, which is useufl to check whether block layer using hardware > encryption engine merges IOs correctly. > > Signed-off-by: Jaegeuk Kim <jaeg...@kernel.org> > --- > Documentation/filesystems/f2fs.txt | 1 + > fs/f2fs/segment.c | 2 +- > fs/f2fs/segment.h | 1 + > 3 files changed, 3 insertions(+), 1 deletion(-) > > diff --git a/Documentation/filesystems/f2fs.txt > b/Documentation/filesystems/f2fs.txt > index 41b5aa94b30f..cd93bcc34726 100644 > --- a/Documentation/filesystems/f2fs.txt > +++ b/Documentation/filesystems/f2fs.txt > @@ -335,6 +335,7 @@ Files in /sys/fs/f2fs/<devname> > 0x01: F2FS_IPU_FORCE, 0x02: F2FS_IPU_SSR, > 0x04: F2FS_IPU_UTIL, 0x08: F2FS_IPU_SSR_UTIL, > 0x10: F2FS_IPU_FSYNC.
. -> , Reviewed-by: Chao Yu <yuch...@huawei.com> Thanks, > + 0x40: F2FS_IPU_NOCACHE disables bio caches. > > min_ipu_util This parameter controls the threshold to > trigger > in-place-updates. The number indicates > percentage > diff --git a/fs/f2fs/segment.c b/fs/f2fs/segment.c > index a9519532c029..311fe4937f6a 100644 > --- a/fs/f2fs/segment.c > +++ b/fs/f2fs/segment.c > @@ -3289,7 +3289,7 @@ int f2fs_inplace_write_data(struct f2fs_io_info *fio) > > stat_inc_inplace_blocks(fio->sbi); > > - if (fio->bio) > + if (fio->bio && !(SM_I(sbi)->ipu_policy & (1 << F2FS_IPU_NOCACHE))) > err = f2fs_merge_page_bio(fio); > else > err = f2fs_submit_page_bio(fio); > diff --git a/fs/f2fs/segment.h b/fs/f2fs/segment.h > index a1b3951367cd..02e620470eef 100644 > --- a/fs/f2fs/segment.h > +++ b/fs/f2fs/segment.h > @@ -623,6 +623,7 @@ enum { > F2FS_IPU_SSR_UTIL, > F2FS_IPU_FSYNC, > F2FS_IPU_ASYNC, > + F2FS_IPU_NOCACHE, > }; > > static inline unsigned int curseg_segno(struct f2fs_sb_info *sbi, > _______________________________________________ Linux-f2fs-devel mailing list Linux-f2fs-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/linux-f2fs-devel