Messages in this thread | | | Subject | Re: [PATCH-possible bugfix] xfs: ensure extents are read as be64 | From | Harvey Harrison <> | Date | Mon, 14 Apr 2008 22:03:23 -0700 |
| |
On Tue, 2008-04-15 at 14:58 +1000, David Chinner wrote: > 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; >
Sorry for the noise, I didn't notice the (slightly) different struct types. Just the very similar looking blocks in both functions.
My Bad,
Harvey
| |