From: Darrick J. Wong Date: Mon, 28 Jan 2019 19:03:15 +0000 (-0600) Subject: xfs_db: fix finobt record decoding when sparse inodes enabled X-Git-Tag: v4.20.0-rc1~6 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=38c599e7782ced7d2d1b41c3182daeaddad2cee4;p=thirdparty%2Fxfsprogs-dev.git 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 --- 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 } };