Messages in this thread Patch in this message | | | Date | Mon, 7 Feb 2022 11:14:50 -0800 | From | Jaegeuk Kim <> | Subject | Re: [PATCH] f2fs: avoid unneeded preflush during checkpoint() |
| |
On 02/07, Chao Yu wrote: > During checkpoint, we have committed preflush command via f2fs_flush_device_cache()
787 int f2fs_flush_device_cache(struct f2fs_sb_info *sbi) 788 { 789 int ret = 0, i; 790 791 if (!f2fs_is_multi_device(sbi)) 792 return 0;
Seems a wrong assumption.
> to persist all metadata pages except last #2 CP pack page, so we don't need to > commit another preflush command in commit_checkpoint(), remove it to avoid unneeded > write cache overhead. > > Signed-off-by: Chao Yu <chao@kernel.org> > --- > fs/f2fs/data.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/fs/f2fs/data.c b/fs/f2fs/data.c > index 8c417864c66a..15ac18bbbc8e 100644 > --- a/fs/f2fs/data.c > +++ b/fs/f2fs/data.c > @@ -598,7 +598,7 @@ static void __f2fs_submit_merged_write(struct f2fs_sb_info *sbi, > io->fio.op = REQ_OP_WRITE; > io->fio.op_flags = REQ_META | REQ_PRIO | REQ_SYNC; > if (!test_opt(sbi, NOBARRIER)) > - io->fio.op_flags |= REQ_PREFLUSH | REQ_FUA; > + io->fio.op_flags |= REQ_FUA; > } > __submit_merged_bio(io); > up_write(&io->io_rwsem); > -- > 2.32.0
| |