Commit f95ebdbe authored by Josef Bacik's avatar Josef Bacik Committed by David Sterba

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: default avatarJosef Bacik <josef@toxicpanda.com>
Reviewed-by: default avatarDavid Sterba <dsterba@suse.com>
Signed-off-by: default avatarDavid Sterba <dsterba@suse.com>
parent 3ebac17c
...@@ -3279,7 +3279,7 @@ do { \ ...@@ -3279,7 +3279,7 @@ do { \
/* Report first abort since mount */ \ /* Report first abort since mount */ \
if (!test_and_set_bit(BTRFS_FS_STATE_TRANS_ABORTED, \ if (!test_and_set_bit(BTRFS_FS_STATE_TRANS_ABORTED, \
&((trans)->fs_info->fs_state))) { \ &((trans)->fs_info->fs_state))) { \
if ((errno) != -EIO) { \ if ((errno) != -EIO && (errno) != -EROFS) { \
WARN(1, KERN_DEBUG \ WARN(1, KERN_DEBUG \
"BTRFS: Transaction aborted (error %d)\n", \ "BTRFS: Transaction aborted (error %d)\n", \
(errno)); \ (errno)); \
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment