xfs
[Top] [All Lists]

Re: [PATCH 4/4] xfs: fix sparse reported log CRC endian issue

To: Christoph Hellwig <hch@xxxxxxxxxxxxx>, Dave Chinner <david@xxxxxxxxxxxxx>
Subject: Re: [PATCH 4/4] xfs: fix sparse reported log CRC endian issue
From: Ben Myers <bpm@xxxxxxx>
Date: Thu, 29 Nov 2012 14:32:50 -0600
Cc: xfs@xxxxxxxxxxx
In-reply-to: <20121128213110.GV6434@dastard>
References: <1354068063-1692-1-git-send-email-david@xxxxxxxxxxxxx> <1354068063-1692-5-git-send-email-david@xxxxxxxxxxxxx> <20121128133059.GC2765@xxxxxxxxxxxxx> <20121128213110.GV6434@dastard>
User-agent: Mutt/1.5.20 (2009-06-14)
On Thu, Nov 29, 2012 at 08:31:10AM +1100, Dave Chinner wrote:
> On Wed, Nov 28, 2012 at 08:30:59AM -0500, Christoph Hellwig wrote:
> > On Wed, Nov 28, 2012 at 01:01:03PM +1100, Dave Chinner wrote:
> > > From: Dave Chinner <dchinner@xxxxxxxxxx>
> > > 
> > > Not a bug as such, just warning noise from the xlog_cksum()
> > > returning a __be32 type when it shoul dbe returning a __le32 type.
> > > 
> > > Signed-off-by: Dave Chinner <dchinner@xxxxxxxxxx>
> > 
> > The patch look okay.
> > 
> > But why are we storing the crc field little endian while all other on
> > disk formats are big endian? (And yes I realize it might as well have
> > been me who did that back in the idea, but I still have no idea why)
> 
> Because the CRC always returns the calcuation LE format, even on BE
> systems. So rather than always having to byte swap it everywhere and
> have all the force casts and anootations for sparse, it seems
> simpler to just make it a __le32 everywhere....

This seems reasonable to me, and the patch looks fine.  Christoph, do have any
further objection?

Reviewed-by: Ben Myers <bpm@xxxxxxx>

<Prev in Thread] Current Thread [Next in Thread>