lkml.org 
[lkml]   [2021]   [Jul]   [12]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 5.10 261/593] btrfs: clear log tree recovering status if starting transaction fails
    Date
    From: David Sterba <dsterba@suse.com>

    [ Upstream commit 1aeb6b563aea18cd55c73cf666d1d3245a00f08c ]

    When a log recovery is in progress, lots of operations have to take that
    into account, so we keep this status per tree during the operation. Long
    time ago error handling revamp patch 79787eaab461 ("btrfs: replace many
    BUG_ONs with proper error handling") removed clearing of the status in
    an error branch. Add it back as was intended in e02119d5a7b4 ("Btrfs:
    Add a write ahead tree log to optimize synchronous operations").

    There are probably no visible effects, log replay is done only during
    mount and if it fails all structures are cleared so the stale status
    won't be kept.

    Fixes: 79787eaab461 ("btrfs: replace many BUG_ONs with proper error handling")
    Reviewed-by: Qu Wenruo <wqu@suse.com>
    Reviewed-by: Anand Jain <anand.jain@oracle.com>
    Signed-off-by: David Sterba <dsterba@suse.com>
    Signed-off-by: Sasha Levin <sashal@kernel.org>
    ---
    fs/btrfs/tree-log.c | 1 +
    1 file changed, 1 insertion(+)

    diff --git a/fs/btrfs/tree-log.c b/fs/btrfs/tree-log.c
    index 300951088a11..4b913de2f24f 100644
    --- a/fs/btrfs/tree-log.c
    +++ b/fs/btrfs/tree-log.c
    @@ -6348,6 +6348,7 @@ next:
    error:
    if (wc.trans)
    btrfs_end_transaction(wc.trans);
    + clear_bit(BTRFS_FS_LOG_RECOVERING, &fs_info->flags);
    btrfs_free_path(path);
    return ret;
    }
    --
    2.30.2


    \
     
     \ /
      Last update: 2021-07-12 08:54    [W:2.938 / U:0.264 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site