Re: [f2fs-dev] [PATCH v3] f2fs: fix race of pending_pages in decompression

From: Chao Yu
Date: Mon Dec 07 2020 - 02:42:48 EST


On 2020/12/7 15:28, Daeho Jeong wrote:
It looks like it will be better to move this into merge condition?

if (bio && (!page_is_mergeable(sbi, bio,
*last_block_in_bio, blkaddr) ||
!f2fs_crypt_mergeable_bio(bio, inode, page->index, NULL) ||
f2fs_verify_mergeable_bio())) {


I tried this for the first time, but it requires unnecessary checks
within the compression cluster.

We only need to check f2fs_verify_mergeable_bio for i == 0 case? something like:

static bool f2fs_verify_mergeable_bio(struct bio *bio, bool verify, bool first_page)
{
if (!first_page)
return false;
if (!verify)
return false;

ctx = bio->bi_private;
if (!(ctx->enabled_steps & (1 << STEP_VERITY)))
return true;
}

Thoughts?

I wanted to just check one time in the beginning of the cluster.
What do you think?

It's trivial, but I'm think about the readability... at least, one line comment
is needed to describe why we submit previous bio. :)

Thanks,

.