On 2017/3/14 4:05, Jaegeuk Kim wrote: > On 03/13, Chao Yu wrote: >> We should only align start offset of bio with defined IO_SIZE for below >> conditions: >> a. mode=lfs mount option >> b. write IOs >> c. Out-place-update >> d. non-meta pages >> >> Signed-off-by: Chao Yu <yuch...@huawei.com> >> --- >> fs/f2fs/data.c | 10 +++++++--- >> 1 file changed, 7 insertions(+), 3 deletions(-) >> >> diff --git a/fs/f2fs/data.c b/fs/f2fs/data.c >> index 1375fef11146..53fe79c70406 100644 >> --- a/fs/f2fs/data.c >> +++ b/fs/f2fs/data.c >> @@ -190,6 +190,9 @@ static inline void __submit_bio(struct f2fs_sb_info *sbi, >> current->plug && (type == DATA || type == NODE)) >> blk_finish_plug(current->plug); >> >> + if (!test_opt(sbi, LFS)) >> + goto submit_io; > > The parse_options in fill_super checks this.
You're right, I missed that one... > >> + >> if (type != DATA && type != NODE) >> goto submit_io; >> >> @@ -395,11 +398,12 @@ int f2fs_submit_page_mbio(struct f2fs_io_info *fio) >> __submit_merged_bio(io); >> alloc_new: >> if (io->bio == NULL) { >> - if ((fio->type == DATA || fio->type == NODE) && >> + if (test_opt(sbi, LFS) && >> + !is_read && (fio->type == DATA || fio->type == NODE) && > > The missing case is !is_read, here? > But, actually, DATA and NODE don't issue any read commands at all. Correct, let me add BUG_ON here. :) Thanks, > > Thanks, > >> fio->new_blkaddr & F2FS_IO_SIZE_MASK(sbi)) { >> err = -EAGAIN; >> - if (!is_read) >> - dec_page_count(sbi, WB_DATA_TYPE(bio_page)); >> + f2fs_bug_on(sbi, fio->new_blkaddr == fio->old_blkaddr); >> + dec_page_count(sbi, WB_DATA_TYPE(bio_page)); >> goto out_fail; >> } >> io->bio = __bio_alloc(sbi, fio->new_blkaddr, >> -- >> 2.8.2.295.g3f1c1d0 > > . > ------------------------------------------------------------------------------ Check out the vibrant tech community on one of the world's most engaging tech sites, Slashdot.org! http://sdm.link/slashdot _______________________________________________ Linux-f2fs-devel mailing list Linux-f2fs-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/linux-f2fs-devel