On 03/10, Chao Yu wrote:
> We should only align start offset of bio with defined IO_SIZE for below
> conditions:
> a. write IOs
> b. Out-place-update
> c. non-meta page
> 
> Signed-off-by: Chao Yu <[email protected]>
> ---
>  fs/f2fs/data.c | 4 +++-
>  1 file changed, 3 insertions(+), 1 deletion(-)
> 
> diff --git a/fs/f2fs/data.c b/fs/f2fs/data.c
> index 1375fef11146..3e6b0cc5e36a 100644
> --- a/fs/f2fs/data.c
> +++ b/fs/f2fs/data.c
> @@ -395,7 +395,9 @@ 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 (!is_read && (fio->type == DATA || fio->type == NODE) &&
> +                             bio_page->mapping != META_MAPPING(sbi) &&

BUG_ON(), since it's covered by fio->type == DATA || fio->type == NODE.

> +                             fio->new_blkaddr != fio->old_blkaddr &&

BUG_ON(), since LFS mount option doesn't allow any in-place updates.

>                               fio->new_blkaddr & F2FS_IO_SIZE_MASK(sbi)) {

So, is_read is worth to check?

Thanks,

>                       err = -EAGAIN;
>                       if (!is_read)
> -- 
> 2.8.2.295.g3f1c1d0

------------------------------------------------------------------------------
Announcing the Oxford Dictionaries API! The API offers world-renowned
dictionary content that is easy and intuitive to access. Sign up for an
account today to start using our lexical data to power your apps and
projects. Get started today and enter our developer competition.
http://sdm.link/oxford
_______________________________________________
Linux-f2fs-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/linux-f2fs-devel

Reply via email to