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
|