xfs
[Top] [All Lists]

Re: [PATCH] db: fix AGI ops definition in CRC type table

To: Dave Chinner <david@xxxxxxxxxxxxx>
Subject: Re: [PATCH] db: fix AGI ops definition in CRC type table
From: Carlos Maiolino <cmaiolino@xxxxxxxxxx>
Date: Fri, 16 Oct 2015 10:09:39 +0200
Cc: xfs@xxxxxxxxxxx
Delivered-to: xfs@xxxxxxxxxxx
In-reply-to: <1444709821-5009-1-git-send-email-david@xxxxxxxxxxxxx>
Mail-followup-to: Dave Chinner <david@xxxxxxxxxxxxx>, xfs@xxxxxxxxxxx
References: <1444709821-5009-1-git-send-email-david@xxxxxxxxxxxxx>
User-agent: Mutt/1.5.23 (2014-03-12)
On Tue, Oct 13, 2015 at 03:17:01PM +1100, Dave Chinner wrote:
> From: Dave Chinner <dchinner@xxxxxxxxxx>
> 
> The wrong buffer ops structure was added to the AGI field of the
> type table when initially committed. This was not noticed because it
> only affects manually setting the type of a buffer from xfs_db. e.g

Reviewed-by: Carlos Maiolino <cmaiolino@xxxxxxxxxx>

> 
> xfs_db> agi 0
> xfs_db> p
> .....
> crc = 0xbc58d757 (correct)
> .....
> xfs_db> fsb 2
> xfs_db> type agi
> Metadata CRC error detected at block 0x10/0x1000
> xfs_db>
> 
> This is because (trimmed for clarity):
> 
> Breakpoint 1, xfs_verifier_error:
> (gdb) bt
> #0  xfs_verifier_error
> #1  xfs_agfl_read_verify
> #2  set_iocur_type
> #3  type_f
> #4  main
> 
> It's clear that the wrong verifier is being run (AGFL, not AGI).
> The fix is simple.
> 
> Signed-off-by: Dave Chinner <dchinner@xxxxxxxxxx>
> ---
>  db/type.c | 4 ++--
>  1 file changed, 2 insertions(+), 2 deletions(-)
> 
> diff --git a/db/type.c b/db/type.c
> index 955986b..1da7ee1 100644
> --- a/db/type.c
> +++ b/db/type.c
> @@ -77,7 +77,7 @@ static const typ_t  __typtab[] = {
>  static const typ_t   __typtab_crc[] = {
>       { TYP_AGF, "agf", handle_struct, agf_hfld, &xfs_agf_buf_ops },
>       { TYP_AGFL, "agfl", handle_struct, agfl_crc_hfld, &xfs_agfl_buf_ops },
> -     { TYP_AGI, "agi", handle_struct, agi_hfld, &xfs_agfl_buf_ops },
> +     { TYP_AGI, "agi", handle_struct, agi_hfld, &xfs_agi_buf_ops },
>       { TYP_ATTR, "attr3", handle_struct, attr3_hfld,
>               &xfs_attr3_db_buf_ops },
>       { TYP_BMAPBTA, "bmapbta", handle_struct, bmapbta_crc_hfld,
> @@ -113,7 +113,7 @@ static const typ_t        __typtab_crc[] = {
>  static const typ_t   __typtab_spcrc[] = {
>       { TYP_AGF, "agf", handle_struct, agf_hfld, &xfs_agf_buf_ops },
>       { TYP_AGFL, "agfl", handle_struct, agfl_crc_hfld, &xfs_agfl_buf_ops },
> -     { TYP_AGI, "agi", handle_struct, agi_hfld, &xfs_agfl_buf_ops },
> +     { TYP_AGI, "agi", handle_struct, agi_hfld, &xfs_agi_buf_ops },
>       { TYP_ATTR, "attr3", handle_struct, attr3_hfld,
>               &xfs_attr3_db_buf_ops },
>       { TYP_BMAPBTA, "bmapbta", handle_struct, bmapbta_crc_hfld,
> -- 
> 2.5.0
> 
> _______________________________________________
> xfs mailing list
> xfs@xxxxxxxxxxx
> http://oss.sgi.com/mailman/listinfo/xfs

-- 
Carlos

<Prev in Thread] Current Thread [Next in Thread>