On Fri, Dec 29, 2017 at 11:01:44AM +0200, Nikolay Borisov wrote:
> While performing normal mode check if the code comes across an invalid
> extent format it will just BUG() and exit without printing any useful
> information for debugging. Improve the situation by outputting the
> key/leaf bytenr/slot which will enable to quickly inspect the tree and
> see what the corruption is.
>
> Signed-off-by: Nikolay Borisov <[email protected]>
Applied, thanks.
> ---
> cmds-check.c | 7 ++++++-
> 1 file changed, 6 insertions(+), 1 deletion(-)
>
> diff --git a/cmds-check.c b/cmds-check.c
> index a93ac2c88a38..371516709ed8 100644
> --- a/cmds-check.c
> +++ b/cmds-check.c
> @@ -8362,7 +8362,12 @@ static int process_extent_item(struct btrfs_root *root,
> if (item_size < sizeof(*ei)) {
> #ifdef BTRFS_COMPAT_EXTENT_TREE_V0
> struct btrfs_extent_item_v0 *ei0;
> - BUG_ON(item_size != sizeof(*ei0));
> + if (item_size != sizeof(*ei0)) {
> + error("invalid extent item format: ITEM[%llu %u %llu]
> leaf: %llu slot: %d",
String un-indented.
--
To unsubscribe from this list: send the line "unsubscribe linux-btrfs" in
the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html