xfs
[Top] [All Lists]

Re: [PATCH 05/11] xfs: make i_flags an unsigned long

To: Ben Myers <bpm@xxxxxxx>
Subject: Re: [PATCH 05/11] xfs: make i_flags an unsigned long
From: Christoph Hellwig <hch@xxxxxxxxxxxxx>
Date: Tue, 24 Jan 2012 13:03:37 -0500
Cc: Christoph Hellwig <hch@xxxxxxxxxxxxx>, xfs@xxxxxxxxxxx
In-reply-to: <20120113190716.GA6271@xxxxxxx>
References: <20111208155755.323930705@xxxxxxxxxxxxxxxxxxxxxx> <20111208155918.348628833@xxxxxxxxxxxxxxxxxxxxxx> <20120113190716.GA6271@xxxxxxx>
User-agent: Mutt/1.5.21 (2010-09-15)
On Fri, Jan 13, 2012 at 01:07:16PM -0600, Ben Myers wrote:
> On Thu, Dec 08, 2011 at 10:58:00AM -0500, Christoph Hellwig wrote:
> > To be used for bit wakeup i_flags needs to be an unsigned long or we'll
> > run into trouble on big endian systems.  Beause of the 1-byte i_update
>                                          Because
> > field right after it this actually causes a fairly large size increase
> > on its own (4 or 8 bytes), but that increase will be more than offset
> > by the next two patches.
> > 
> > Signed-off-by: Christoph Hellwig <hch@xxxxxx>
> > Reviewed-by: Alex Elder <aelder@xxxxxxx>
> > Reviewed-by: Dave Chinner <dchinner@xxxxxxxxxx>
> 
> Looks good to me.  But I could go for a thorough explanation of 'trouble
> on big endian systems'.

If we use the bitops that expect to operate on a 64-bit value on a
32-bit value on big endian we'll actually use the 32-bit longword next
to it, not the one we intended for the first half of the bits.

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