lkml.org 
[lkml]   [2022]   [Jan]   [24]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 5.16 0958/1039] f2fs: fix to check available space of CP area correctly in update_ckpt_flags()
    Date
    From: Chao Yu <chao@kernel.org>

    commit b702c83e2eaa2fa2d72e957c55c0321535cc8b9f upstream.

    Otherwise, nat_bit area may be persisted across boundary of CP area during
    nat_bit rebuilding.

    Fixes: 94c821fb286b ("f2fs: rebuild nat_bits during umount")
    Signed-off-by: Chao Yu <chao@kernel.org>
    Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
    ---
    fs/f2fs/checkpoint.c | 4 ++--
    1 file changed, 2 insertions(+), 2 deletions(-)

    --- a/fs/f2fs/checkpoint.c
    +++ b/fs/f2fs/checkpoint.c
    @@ -1302,8 +1302,8 @@ static void update_ckpt_flags(struct f2f
    unsigned long flags;

    if (cpc->reason & CP_UMOUNT) {
    - if (le32_to_cpu(ckpt->cp_pack_total_block_count) >
    - sbi->blocks_per_seg - NM_I(sbi)->nat_bits_blocks) {
    + if (le32_to_cpu(ckpt->cp_pack_total_block_count) +
    + NM_I(sbi)->nat_bits_blocks > sbi->blocks_per_seg) {
    clear_ckpt_flags(sbi, CP_NAT_BITS_FLAG);
    f2fs_notice(sbi, "Disable nat_bits due to no space");
    } else if (!is_set_ckpt_flags(sbi, CP_NAT_BITS_FLAG) &&

    \
     
     \ /
      Last update: 2022-01-25 04:09    [W:4.105 / U:0.096 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site