lkml.org 
[lkml]   [2008]   [Apr]   [15]   [last100]   RSS Feed
Views: [more markup]  [less markup]  [headers]  [forward] 
 
Messages in this thread
/
SubjectRe: [PATCH-possible bugfix] xfs: ensure extents are read as be64
FromHarvey Harrison <>
DateMon, 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



\
 
 \ /
  Last update: 2008-04-15 07:05    [from the cache]
©2003-2008