lkml.org 
[lkml]   [2020]   [Feb]   [21]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 4.19 163/191] jbd2: make sure ESHUTDOWN to be recorded in the journal superblock
    Date
    From: zhangyi (F) <yi.zhang@huawei.com>

    [ Upstream commit 0e98c084a21177ef136149c6a293b3d1eb33ff92 ]

    Commit fb7c02445c49 ("ext4: pass -ESHUTDOWN code to jbd2 layer") want
    to allow jbd2 layer to distinguish shutdown journal abort from other
    error cases. So the ESHUTDOWN should be taken precedence over any other
    errno which has already been recoded after EXT4_FLAGS_SHUTDOWN is set,
    but it only update errno in the journal suoerblock now if the old errno
    is 0.

    Fixes: fb7c02445c49 ("ext4: pass -ESHUTDOWN code to jbd2 layer")
    Signed-off-by: zhangyi (F) <yi.zhang@huawei.com>
    Reviewed-by: Jan Kara <jack@suse.cz>
    Link: https://lore.kernel.org/r/20191204124614.45424-4-yi.zhang@huawei.com
    Signed-off-by: Theodore Ts'o <tytso@mit.edu>
    Signed-off-by: Sasha Levin <sashal@kernel.org>
    ---
    fs/jbd2/journal.c | 3 +--
    1 file changed, 1 insertion(+), 2 deletions(-)

    diff --git a/fs/jbd2/journal.c b/fs/jbd2/journal.c
    index 1a96287f92647..a15a22d209090 100644
    --- a/fs/jbd2/journal.c
    +++ b/fs/jbd2/journal.c
    @@ -2133,8 +2133,7 @@ static void __journal_abort_soft (journal_t *journal, int errno)

    if (journal->j_flags & JBD2_ABORT) {
    write_unlock(&journal->j_state_lock);
    - if (!old_errno && old_errno != -ESHUTDOWN &&
    - errno == -ESHUTDOWN)
    + if (old_errno != -ESHUTDOWN && errno == -ESHUTDOWN)
    jbd2_journal_update_sb_errno(journal);
    return;
    }
    --
    2.20.1


    \
     
     \ /
      Last update: 2020-02-21 09:27    [W:4.082 / U:0.044 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site