From 293e343dc94297bcdf22e6d53c0550cd93aae3d4 Mon Sep 17 00:00:00 2001 From: Dave Chinner Date: Wed, 14 Oct 2015 11:05:23 +1100 Subject: [PATCH] db: fix AGI ops definition in CRC type table 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 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 Reviewed-by: Darrick J. Wong Signed-off-by: Dave Chinner --- db/type.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/db/type.c b/db/type.c index 955986bfa..1da7ee107 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.47.2