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 <darrick.wong@oracle.com>
Reviewed-by: Dave Chinner <dchinner@redhat.com>
Signed-off-by: Eric Sandeen <sandeen@sandeen.net>
{ 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 }
};