All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 00/10] btrfs: improve error reporting for log tree replay
@ 2025-07-21 17:16 fdmanana
  2025-07-21 17:16 ` [PATCH 01/10] btrfs: error on missing block group when unaccounting log tree extent buffers fdmanana
                   ` (11 more replies)
  0 siblings, 12 replies; 15+ messages in thread
From: fdmanana @ 2025-07-21 17:16 UTC (permalink / raw)
  To: linux-btrfs

From: Filipe Manana <fdmanana@suse.com>

Most errors that happen during log replay or destroying a log tree are hard
to figure out where they come from, since typically deep in the call chain
of log tree walking we return errors and propagate them up to the caller of
the main log tree walk function, which then aborts the transaction or turns
the filesystem into error state (btrfs_handle_fs_error()). This means any
stack trace and message provided by a transaction abort or turning fs into
error state, doesn't provide information where exactly in the deep call
chain the error comes from.

These changes mostly make transacton aborts and btrfs_handle_fs_error()
calls where errors happen, so that we get much more useful information
which sometimes is enough to understand issues. The rest are just some
cleanups.

Filipe Manana (10):
  btrfs: error on missing block group when unaccounting log tree extent buffers
  btrfs: abort transaction on specific error places when walking log tree
  btrfs: abort transaction in the process_one_buffer() log tree walk callback
  btrfs: use local variable for the transaction handle in replay_one_buffer()
  btrfs: return real error from read_alloc_one_name() in drop_one_dir_item()
  btrfs: abort transaction where errors happen during log tree replay
  btrfs: exit early when replaying hole file extent item from a log tree
  btrfs: process inline extent earlier in replay_one_extent()
  btrfs: use local key variable to pass arguments in replay_one_extent()
  btrfs: collapse unaccount_log_buffer() into clean_log_buffer()

 fs/btrfs/tree-log.c | 659 +++++++++++++++++++++++++++-----------------
 1 file changed, 401 insertions(+), 258 deletions(-)

-- 
2.47.2


^ permalink raw reply	[flat|nested] 15+ messages in thread

end of thread, other threads:[~2025-07-22 10:14 UTC | newest]

Thread overview: 15+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-07-21 17:16 [PATCH 00/10] btrfs: improve error reporting for log tree replay fdmanana
2025-07-21 17:16 ` [PATCH 01/10] btrfs: error on missing block group when unaccounting log tree extent buffers fdmanana
2025-07-21 17:16 ` [PATCH 02/10] btrfs: abort transaction on specific error places when walking log tree fdmanana
2025-07-21 17:16 ` [PATCH 03/10] btrfs: abort transaction in the process_one_buffer() log tree walk callback fdmanana
2025-07-21 17:16 ` [PATCH 04/10] btrfs: use local variable for the transaction handle in replay_one_buffer() fdmanana
2025-07-21 17:16 ` [PATCH 05/10] btrfs: return real error from read_alloc_one_name() in drop_one_dir_item() fdmanana
2025-07-21 17:16 ` [PATCH 06/10] btrfs: abort transaction where errors happen during log tree replay fdmanana
2025-07-21 17:16 ` [PATCH 07/10] btrfs: exit early when replaying hole file extent item from a log tree fdmanana
2025-07-21 17:16 ` [PATCH 08/10] btrfs: process inline extent earlier in replay_one_extent() fdmanana
2025-07-21 17:16 ` [PATCH 09/10] btrfs: use local key variable to pass arguments " fdmanana
2025-07-21 17:16 ` [PATCH 10/10] btrfs: collapse unaccount_log_buffer() into clean_log_buffer() fdmanana
2025-07-22  0:15 ` [PATCH 00/10] btrfs: improve error reporting for log tree replay Qu Wenruo
2025-07-22 10:04   ` Filipe Manana
2025-07-22 10:14     ` Qu Wenruo
     [not found] ` <20250721202418.GA2071341@zen.localdomain>
2025-07-22  9:55   ` Filipe Manana

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.