Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 41132718 authored by zhangyi (F)'s avatar zhangyi (F) Committed by Greg Kroah-Hartman
Browse files

jbd2: make sure ESHUTDOWN to be recorded in the journal superblock



[ Upstream commit 0e98c084a21177ef136149c6a293b3d1eb33ff92 ]

Commit fb7c0244 ("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: fb7c0244 ("ext4: pass -ESHUTDOWN code to jbd2 layer")
Signed-off-by: default avatarzhangyi (F) <yi.zhang@huawei.com>
Reviewed-by: default avatarJan Kara <jack@suse.cz>
Link: https://lore.kernel.org/r/20191204124614.45424-4-yi.zhang@huawei.com


Signed-off-by: default avatarTheodore Ts'o <tytso@mit.edu>
Signed-off-by: default avatarSasha Levin <sashal@kernel.org>
parent 314e25f4
Loading
Loading
Loading
Loading
+1 −2
Original line number Diff line number Diff line
@@ -2114,8 +2114,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;
	}