From: Anand Jain <anand.jain@oracle.com>
To: David Sterba <dsterba@suse.com>, linux-btrfs@vger.kernel.org
Subject: Re: [PATCH 00/20] Error handling fixes
Date: Fri, 26 Jan 2024 20:28:12 +0800 [thread overview]
Message-ID: <76160d68-d3bd-409f-88d9-7723a1e4e9d8@oracle.com> (raw)
In-Reply-To: <cover.1706130791.git.dsterba@suse.com>
On 1/25/24 05:17, David Sterba wrote:
> Get rid of some easy BUG_ONs, there are a few groups fixing the same
> pattern. At the end there are three patches that move transaction abort
> to the right place. I have tested it on my setups only, not the CI, but
> given the type of fix we'd never hit any of them without special
> instrumentation.
>
What is our guideline for the error message location in the function
stack, leaf function or at the root function? IMO, it should be
in the leaf functions(), so that in the event of a serious error,
we have substantial logs to pinpoint the issue. Here, despite -EUCLEAN
we have no errors logged, in some of the patches. Why not also add
error message where it wont' endup with abort(). Otherwise, debugging
becomes too difficult when looking at the errors due to corruption.
Thanks, Anand
> David Sterba (20):
> btrfs: handle directory and dentry mismatch in btrfs_may_delete()
> btrfs: handle invalid range and start in merge_extent_mapping()
> btrfs: handle block group lookup error when it's being removed
> btrfs: handle root deletion lookup error in btrfs_del_root()
> btrfs: handle invalid root reference found in btrfs_find_root()
> btrfs: handle invalid root reference found in btrfs_init_root_free_objectid()
> btrfs: handle chunk tree lookup error in btrfs_relocate_sys_chunks()
> btrfs: handle invalid extent item reference found in check_committed_ref()
> btrfs: export: handle invalid inode or root reference in btrfs_get_parent()
> btrfs: delayed-inode: drop pointless BUG_ON in __btrfs_remove_delayed_item()
> btrfs: change BUG_ON to assertion when checking for delayed_node root
> btrfs: defrag: change BUG_ON to assertion in btrfs_defrag_leaves()
> btrfs: change BUG_ON to assertion in btrfs_read_roots()
> btrfs: change BUG_ON to assertion when verifying lockdep class setup
> btrfs: change BUG_ON to assertion when verifying root in btrfs_alloc_reserved_file_extent()
> btrfs: change BUG_ON to assertion in reset_balance_state()
> btrfs: unify handling of return values of btrfs_insert_empty_items()
> btrfs: move transaction abort to the error site in btrfs_delete_free_space_tree()
> btrfs: move transaction abort to the error site in btrfs_create_free_space_tree()
> btrfs: move transaction abort to the error site btrfs_rebuild_free_space_tree()
>
> fs/btrfs/block-group.c | 4 ++-
> fs/btrfs/ctree.c | 4 +++
> fs/btrfs/defrag.c | 2 +-
> fs/btrfs/delayed-inode.c | 4 +--
> fs/btrfs/disk-io.c | 11 ++++++--
> fs/btrfs/export.c | 9 +++++-
> fs/btrfs/extent-tree.c | 11 ++++++--
> fs/btrfs/extent_map.c | 9 +++---
> fs/btrfs/file-item.c | 3 --
> fs/btrfs/free-space-tree.c | 56 ++++++++++++++++++++++----------------
> fs/btrfs/ioctl.c | 4 ++-
> fs/btrfs/locking.c | 2 +-
> fs/btrfs/root-tree.c | 16 +++++++++--
> fs/btrfs/uuid-tree.c | 2 +-
> fs/btrfs/volumes.c | 14 ++++++++--
> 15 files changed, 102 insertions(+), 49 deletions(-)
>
next prev parent reply other threads:[~2024-01-26 12:28 UTC|newest]
Thread overview: 46+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-01-24 21:17 [PATCH 00/20] Error handling fixes David Sterba
2024-01-24 21:17 ` [PATCH 01/20] btrfs: handle directory and dentry mismatch in btrfs_may_delete() David Sterba
2024-01-24 21:17 ` [PATCH 02/20] btrfs: handle invalid range and start in merge_extent_mapping() David Sterba
2024-01-25 3:53 ` Qu Wenruo
2024-01-25 16:07 ` David Sterba
2024-01-24 21:17 ` [PATCH 03/20] btrfs: handle block group lookup error when it's being removed David Sterba
2024-01-25 3:58 ` Qu Wenruo
2024-01-25 16:12 ` David Sterba
2024-01-25 23:09 ` Qu Wenruo
2024-01-29 15:49 ` David Sterba
2024-01-24 21:18 ` [PATCH 04/20] btrfs: handle root deletion lookup error in btrfs_del_root() David Sterba
2024-01-25 4:01 ` Qu Wenruo
2024-01-25 16:19 ` David Sterba
2024-01-24 21:18 ` [PATCH 05/20] btrfs: handle invalid root reference found in btrfs_find_root() David Sterba
2024-01-25 4:03 ` Qu Wenruo
2024-01-25 16:28 ` David Sterba
2024-01-25 23:14 ` Qu Wenruo
2024-01-26 14:19 ` Josef Bacik
2024-01-29 15:55 ` David Sterba
2024-01-26 12:06 ` Anand Jain
2024-01-29 15:56 ` David Sterba
2024-01-24 21:18 ` [PATCH 06/20] btrfs: handle invalid root reference found in btrfs_init_root_free_objectid() David Sterba
2024-01-25 4:06 ` Qu Wenruo
2024-01-24 21:18 ` [PATCH 07/20] btrfs: handle chunk tree lookup error in btrfs_relocate_sys_chunks() David Sterba
2024-01-25 4:08 ` Qu Wenruo
2024-01-24 21:18 ` [PATCH 08/20] btrfs: handle invalid extent item reference found in check_committed_ref() David Sterba
2024-01-25 4:10 ` Qu Wenruo
2024-01-25 16:31 ` David Sterba
2024-01-24 21:18 ` [PATCH 09/20] btrfs: export: handle invalid inode or root reference in btrfs_get_parent() David Sterba
2024-01-24 21:18 ` [PATCH 10/20] btrfs: delayed-inode: drop pointless BUG_ON in __btrfs_remove_delayed_item() David Sterba
2024-01-24 21:18 ` [PATCH 11/20] btrfs: change BUG_ON to assertion when checking for delayed_node root David Sterba
2024-01-24 21:18 ` [PATCH 12/20] btrfs: defrag: change BUG_ON to assertion in btrfs_defrag_leaves() David Sterba
2024-01-24 21:18 ` [PATCH 13/20] btrfs: change BUG_ON to assertion in btrfs_read_roots() David Sterba
2024-01-24 21:18 ` [PATCH 14/20] btrfs: change BUG_ON to assertion when verifying lockdep class setup David Sterba
2024-01-24 21:18 ` [PATCH 15/20] btrfs: change BUG_ON to assertion when verifying root in btrfs_alloc_reserved_file_extent() David Sterba
2024-01-24 21:18 ` [PATCH 16/20] btrfs: change BUG_ON to assertion in reset_balance_state() David Sterba
2024-01-24 21:18 ` [PATCH 17/20] btrfs: unify handling of return values of btrfs_insert_empty_items() David Sterba
2024-01-24 21:18 ` [PATCH 18/20] btrfs: move transaction abort to the error site in btrfs_delete_free_space_tree() David Sterba
2024-01-24 21:18 ` [PATCH 19/20] btrfs: move transaction abort to the error site in btrfs_create_free_space_tree() David Sterba
2024-01-24 21:18 ` [PATCH 20/20] btrfs: move transaction abort to the error site btrfs_rebuild_free_space_tree() David Sterba
2024-01-24 22:14 ` [PATCH 00/20] Error handling fixes Josef Bacik
2024-01-25 4:21 ` Qu Wenruo
2024-01-25 16:34 ` David Sterba
2024-01-26 12:28 ` Anand Jain [this message]
2024-01-29 16:13 ` David Sterba
2024-01-29 23:33 ` Anand Jain
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=76160d68-d3bd-409f-88d9-7723a1e4e9d8@oracle.com \
--to=anand.jain@oracle.com \
--cc=dsterba@suse.com \
--cc=linux-btrfs@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox