Filipe Manana
eced687e22
btrfs: abort transaction at update_ref_for_cow() when ref count is zero
...
At update_ref_for_cow() we are calling btrfs_handle_fs_error() if we find
that the extent buffer has an unexpected ref count of zero, however we can
simply use btrfs_abort_transaction(), which achieves the same purposes: to
turn the fs to error state, abort the current transaction and turn the fs
to RO mode as well. Besides that, btrfs_abort_transaction() also prints a
stack trace which makes it more useful.
Also, as this is a very unexpected situation, indicating a serious
corruption/inconsistency, tag the if branch as 'unlikely', set the error
code to -EUCLEAN instead of -EROFS, and log an explicit message.
Reviewed-by: Qu Wenruo <wqu@suse.com >
Signed-off-by: Filipe Manana <fdmanana@suse.com >
Reviewed-by: David Sterba <dsterba@suse.com >
Signed-off-by: David Sterba <dsterba@suse.com >
2023-06-19 13:59:39 +02:00
..
2023-06-19 13:59:30 +02:00
2022-12-05 18:00:58 +01:00
2022-12-05 18:00:58 +01:00
2023-01-19 09:24:28 +01:00
2023-01-19 09:24:27 +01:00
2023-06-19 13:59:30 +02:00
2023-06-19 13:59:30 +02:00
2023-05-09 22:09:11 +02:00
2023-05-09 22:09:11 +02:00
2023-06-19 13:59:36 +02:00
2023-06-19 13:59:36 +02:00
2023-06-19 13:59:38 +02:00
2023-06-19 13:59:38 +02:00
2023-06-19 13:59:24 +02:00
2023-06-19 13:59:24 +02:00
2023-06-19 13:59:33 +02:00
2023-06-19 13:59:34 +02:00
2022-05-16 17:03:12 +02:00
2023-06-19 13:59:37 +02:00
2023-06-19 13:59:36 +02:00
2023-06-19 13:59:39 +02:00
2023-06-19 13:59:25 +02:00
2023-06-19 13:59:30 +02:00
2022-12-05 18:00:46 +01:00
2023-04-17 18:01:19 +02:00
2022-12-05 18:00:44 +01:00
2023-03-06 19:28:19 +01:00
2022-12-05 18:00:43 +01:00
2023-06-19 13:59:32 +02:00
2023-06-19 13:59:32 +02:00
2023-06-19 13:59:34 +02:00
2022-12-05 18:00:47 +01:00
2022-12-05 18:00:46 +01:00
2022-12-05 18:00:46 +01:00
2023-06-19 13:59:25 +02:00
2023-06-19 13:59:25 +02:00
2023-06-19 13:59:33 +02:00
2023-06-19 13:59:27 +02:00
2022-12-05 18:00:47 +01:00
2022-12-05 18:00:41 +01:00
2023-06-19 13:59:37 +02:00
2023-06-19 13:59:35 +02:00
2023-06-19 13:59:33 +02:00
2023-06-19 13:59:33 +02:00
2023-06-19 13:59:30 +02:00
2023-06-19 13:59:30 +02:00
2023-06-19 13:59:32 +02:00
2023-06-19 13:59:24 +02:00
2023-06-19 13:59:37 +02:00
2023-06-19 13:59:32 +02:00
2023-06-19 13:59:38 +02:00
2022-12-05 18:00:56 +01:00
2023-06-19 13:59:24 +02:00
2023-06-19 13:59:24 +02:00
2023-05-10 14:51:27 +02:00
2023-05-10 14:51:27 +02:00
2023-02-13 17:50:35 +01:00
2023-06-19 13:59:32 +02:00
2023-04-17 18:01:19 +02:00
2023-06-19 13:59:25 +02:00
2023-06-19 13:59:38 +02:00
2023-06-19 13:59:26 +02:00
2023-01-19 09:24:27 +01:00
2023-04-17 18:01:22 +02:00
2023-06-19 13:59:35 +02:00
2023-04-17 18:01:17 +02:00
2023-02-15 19:38:50 +01:00
2023-04-17 18:01:18 +02:00
2023-06-19 13:59:34 +02:00
2023-02-13 17:50:35 +01:00
2023-06-19 13:59:31 +02:00
2023-06-19 13:59:31 +02:00
2023-06-19 13:59:22 +02:00
2023-06-19 13:59:37 +02:00
2023-06-19 13:59:37 +02:00
2022-12-05 18:00:47 +01:00
2022-12-05 18:00:47 +01:00
2023-06-19 13:59:22 +02:00
2023-06-19 13:59:22 +02:00
2022-12-05 18:00:47 +01:00
2022-12-05 18:00:40 +01:00
2023-03-28 00:46:53 +02:00
2022-12-05 18:00:43 +01:00
2023-06-19 13:59:24 +02:00
2023-06-19 13:59:24 +02:00
2022-12-05 18:00:59 +01:00
2022-12-05 18:00:42 +01:00
2022-12-05 18:00:53 +01:00
2023-06-19 13:59:36 +02:00
2023-06-19 13:59:36 +02:00
2022-12-05 18:00:47 +01:00
2022-12-05 18:00:44 +01:00
2023-06-19 13:59:34 +02:00
2023-04-17 18:01:24 +02:00
2023-04-17 19:52:19 +02:00
2022-12-05 18:00:41 +01:00
2023-04-17 18:01:19 +02:00
2023-04-17 18:01:18 +02:00
2023-06-19 13:59:35 +02:00
2023-06-19 13:59:35 +02:00
2023-06-19 13:59:23 +02:00
2022-12-05 18:00:47 +01:00
2023-04-17 18:01:18 +02:00
2023-02-13 17:50:35 +01:00
2023-06-19 13:59:26 +02:00
2023-06-19 13:59:26 +02:00
2023-06-19 13:59:25 +02:00
2023-06-19 13:59:25 +02:00
2023-06-19 13:59:32 +02:00
2023-06-19 13:59:26 +02:00
2023-06-19 13:59:38 +02:00
2022-12-05 18:00:48 +01:00
2022-12-05 18:00:50 +01:00
2022-12-05 18:00:50 +01:00
2022-12-05 18:00:46 +01:00
2022-12-05 18:00:46 +01:00
2023-01-01 15:46:48 -08:00
2022-12-05 18:00:47 +01:00
2023-06-19 13:59:34 +02:00
2023-06-19 13:59:34 +02:00
2023-03-06 09:57:12 +01:00
2023-06-19 13:59:34 +02:00
2023-06-19 13:59:34 +02:00
2023-06-19 13:59:33 +02:00
2023-06-19 13:59:34 +02:00