From: Eric Sandeen Date: Fri, 13 Jul 2012 18:24:58 +0000 (-0500) Subject: xfs_db: Fix extent record printing on big endian X-Git-Tag: v3.1.9-rc1~13 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=37ca9b1ec535f6cb5fec799842f10cafbc94aaff;p=thirdparty%2Fxfsprogs-dev.git xfs_db: Fix extent record printing on big endian Extent records which should have been printed as: a.bmx[0] = [startoff,startblock,blockcount,extentflag] 0:[0,12,17,0] for example, were instead being printed as: a.bmx[0] = [startoff,startblock,blockcount,extentflag] 0:[0,12884910592,0,0] in xfs_db. It was simply mis-parsing the extent records due to wrong #defines for big-endian machines. It's been broken since at least xfsprogs-2.6.13, causing xfstests 021 to fail. Signed-off-by: Eric Sandeen Reviewed-by: Christoph Hellwig --- diff --git a/db/btblock.c b/db/btblock.c index f6e8a6871..2c199b228 100644 --- a/db/btblock.c +++ b/db/btblock.c @@ -250,23 +250,12 @@ const field_t bmapbtd_key_flds[] = { }; #undef KOFF -#ifndef XFS_NATIVE_HOST - #define BMBT_EXNTFLAG_BITOFF 0 #define BMBT_STARTOFF_BITOFF (BMBT_EXNTFLAG_BITOFF + BMBT_EXNTFLAG_BITLEN) #define BMBT_STARTBLOCK_BITOFF (BMBT_STARTOFF_BITOFF + BMBT_STARTOFF_BITLEN) #define BMBT_BLOCKCOUNT_BITOFF \ (BMBT_STARTBLOCK_BITOFF + BMBT_STARTBLOCK_BITLEN) -#else - -#define BMBT_EXNTFLAG_BITOFF 63 -#define BMBT_STARTOFF_BITOFF (BMBT_EXNTFLAG_BITOFF - BMBT_STARTOFF_BITLEN) -#define BMBT_STARTBLOCK_BITOFF 85 /* 128 - 43 (other 9 is in first word) */ -#define BMBT_BLOCKCOUNT_BITOFF 64 /* Start of second 64 bit container */ - -#endif /* XFS_NATIVE_HOST */ - const field_t bmapbta_rec_flds[] = { { "startoff", FLDT_CFILEOFFA, OI(BMBT_STARTOFF_BITOFF), C1, 0, TYP_ATTR },