From: Josef Bacik Date: Tue, 21 Jul 2020 15:24:27 +0000 (-0400) Subject: btrfs: don't WARN if we abort a transaction with EROFS X-Git-Tag: v5.15~2817^2~45 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=f95ebdbed46a4d8b9fdb7bff109fdbb6fc9a6dc8;p=platform%2Fkernel%2Flinux-starfive.git btrfs: don't WARN if we abort a transaction with EROFS If we got some sort of corruption via a read and call btrfs_handle_fs_error() we'll set BTRFS_FS_STATE_ERROR on the fs and complain. If a subsequent trans handle trips over this it'll get EROFS and then abort. However at that point we're not aborting for the original reason, we're aborting because we've been flipped read only. We do not need to WARN_ON() here. CC: stable@vger.kernel.org # 5.4+ Signed-off-by: Josef Bacik Reviewed-by: David Sterba Signed-off-by: David Sterba --- diff --git a/fs/btrfs/ctree.h b/fs/btrfs/ctree.h index b70c202..9c7e466 100644 --- a/fs/btrfs/ctree.h +++ b/fs/btrfs/ctree.h @@ -3279,7 +3279,7 @@ do { \ /* Report first abort since mount */ \ if (!test_and_set_bit(BTRFS_FS_STATE_TRANS_ABORTED, \ &((trans)->fs_info->fs_state))) { \ - if ((errno) != -EIO) { \ + if ((errno) != -EIO && (errno) != -EROFS) { \ WARN(1, KERN_DEBUG \ "BTRFS: Transaction aborted (error %d)\n", \ (errno)); \