Re: [PATCH-possible bugfix] xfs: ensure extents are read as be64

From: David Chinner
Date: Tue Apr 15 2008 - 00:58:37 EST


On Mon, Apr 14, 2008 at 08:28:51PM -0700, Harvey Harrison wrote:
> The debug code reads the extents in cpu-order rather than BE. Make the
> debug code match.

xfs_validate_extents() is reading in-core extents which have already
been byte-swapped when they were read into memory.

FWIW, when changing anything to do with endian conversion, please
ensure you run:

$ make C=2 CHECKFLAGS="-D__CHECK_ENDIAN__"

over the change. This change would introduce errors because:

typedef struct xfs_bmbt_rec_host {
__uint64_t l0, l1;
} xfs_bmbt_rec_host_t;

is not defined with __beXX types like the disk format version of this
structure which is:

typedef struct xfs_bmbt_rec_64 {
__be64 l0, l1;
} xfs_bmbt_rec_64_t;

Cheers,

Dave.
--
Dave Chinner
Principal Engineer
SGI Australian Software Group
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/