From 38c599e7782ced7d2d1b41c3182daeaddad2cee4 Mon Sep 17 00:00:00 2001 From: "Darrick J. Wong" Date: Mon, 28 Jan 2019 13:03:15 -0600 Subject: [PATCH] xfs_db: fix finobt record decoding when sparse inodes enabled Use the sparse inobt record field decoder (inobt_spcrc_hfld) to decode finobt records when sparse inodes are enabled. Otherwise, xfs_db prints out bogus things like: recs[1] = [startino,freecount,free] 1:[214720,16429,0xfffffffffff80000] There can never be 16429 records in an inode btree record; instead it should print: recs[1] = [startino,holemask,count,freecount,free] 1:[214720,0,64,45,0xfffffffffff80000] Signed-off-by: Darrick J. Wong Reviewed-by: Dave Chinner Signed-off-by: Eric Sandeen --- db/type.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/db/type.c b/db/type.c index d0234c579..f5f65042c 100644 --- a/db/type.c +++ b/db/type.c @@ -151,7 +151,7 @@ static const typ_t __typtab_spcrc[] = { { TYP_SYMLINK, "symlink", handle_struct, symlink_crc_hfld, &xfs_symlink_buf_ops, XFS_SYMLINK_CRC_OFF }, { TYP_TEXT, "text", handle_text, NULL, NULL, TYP_F_NO_CRC_OFF }, - { TYP_FINOBT, "finobt", handle_struct, inobt_crc_hfld, + { TYP_FINOBT, "finobt", handle_struct, inobt_spcrc_hfld, &xfs_inobt_buf_ops, XFS_BTREE_SBLOCK_CRC_OFF }, { TYP_NONE, NULL } }; -- 2.47.2