From: Wang Yugui <wangyugui@e16-tech.com>
To: Su Yue <l@damenly.su>
Cc: Qu Wenruo <quwenruo.btrfs@gmx.com>, linux-btrfs@vger.kernel.org
Subject: Re: [PATCH 2/2] btrfs: tree-checker: check item_size for dev_item
Date: Sun, 06 Feb 2022 23:39:12 +0800 [thread overview]
Message-ID: <20220206233912.BA89.409509F4@e16-tech.com> (raw)
In-Reply-To: <5ypsw5k3.fsf@damenly.su>
Hi,
> >> >>>> A btrfs filesystem failed to boot with this patch.
> >> >>>>
> >> >>>> corrupt leaf: root=3 block=1081344 slot=0 devid=1 invalid
> >> >>>> item
> >> >>>> size: has 0 expect 98
> >> >>>>
> As Qu suggested to me, would you plase provide output after
> apply of the following diff? (It may crash the kernel if there is *real*
> one invalid dev_item).
>
> diff --git a/fs/btrfs/tree-checker.c b/fs/btrfs/tree-checker.c
> index 9fd145f1c4bc..5fb981b4b42a 100644
> --- a/fs/btrfs/tree-checker.c
> +++ b/fs/btrfs/tree-checker.c
> @@ -25,6 +25,7 @@
> #include "volumes.h"
> #include "misc.h"
> #include "btrfs_inode.h"
> +#include "print-tree.h"
>
> /*
> * Error message should follow the following format:
> @@ -977,6 +978,7 @@ static int check_dev_item(struct extent_buffer *leaf,
> if (unlikely(item_size != sizeof(*ditem))) {
> dev_item_err(leaf, slot, "invalid item size: has %u expect %zu",
> item_size, sizeof(*ditem));
> + btrfs_print_leaf(leaf);
> return -EUCLEAN;
> }
When I tested this new diag patch, I noticed that I wrongly applied
these 2 patches to 5.15.x.
btrfs-tree-checker-check-item_size-for-inode_item.patch
btrfs-tree-checker-check-item_size-for-dev_item.patch
some depency patches(at least btrfs-drop-the-_nr-from-the-item-helpers.patch,
maybe more) are missed.
In fact, without these depency patches, there are some build warning,
but I failed to noticed them.
so this is just my bad now. sorry.
Best Regards
Wang Yugui (wangyugui@e16-tech.com)
2022/02/06
next prev parent reply other threads:[~2022-02-06 15:39 UTC|newest]
Thread overview: 13+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-01-21 9:33 [PATCH 0/2] Simple two patches for tree checker Su Yue
2022-01-21 9:33 ` [PATCH 1/2] btrfs: tree-checker: check item_size for inode_item Su Yue
2022-01-21 9:33 ` [PATCH 2/2] btrfs: tree-checker: check item_size for dev_item Su Yue
2022-02-05 3:13 ` Wang Yugui
2022-02-05 4:35 ` Wang Yugui
2022-02-05 11:15 ` Su Yue
2022-02-05 12:30 ` Wang Yugui
2022-02-05 13:01 ` Qu Wenruo
2022-02-05 14:49 ` Wang Yugui
2022-02-06 12:12 ` Su Yue
2022-02-06 15:39 ` Wang Yugui [this message]
2022-01-24 15:44 ` [PATCH 0/2] Simple two patches for tree checker David Sterba
2022-02-18 15:13 ` Su Yue
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=20220206233912.BA89.409509F4@e16-tech.com \
--to=wangyugui@e16-tech.com \
--cc=l@damenly.su \
--cc=linux-btrfs@vger.kernel.org \
--cc=quwenruo.btrfs@gmx.com \
/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 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.