[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20070605084937.7622258a@gara>
Date: Tue, 5 Jun 2007 08:49:37 -0500
From: "Jose R. Santos" <jrs@...ibm.com>
To: Laurent Vivier <Laurent.Vivier@...l.net>
Cc: Dave Kleikamp <shaggy@...ux.vnet.ibm.com>, cmm@...ibm.com,
Andreas Dilger <adilger@...sterfs.com>,
linux-ext4 <linux-ext4@...r.kernel.org>
Subject: Re: [RFC][PATCH] Set JBD2_FEATURE_INCOMPAT_64BIT on filesystems
larger than 32-bit blocks (take 2).
On Tue, 05 Jun 2007 15:26:53 +0200
Laurent Vivier <Laurent.Vivier@...l.net> wrote:
> Dave Kleikamp wrote:
> > Jose is right. The endian conversion is unnecessary.
> >
> > Shaggy
>
> But by using le32_to_cpu(es->s_blocks_count_hi) you explicitly mark the variable
> as a little-endian.
> So if someone reads the code, he knows this is a little-endian value and this
> allows to avoid errors if later variable must be tested for other value than 0.
>
> For instance, you have :
>
> if(es->s_blocks_count_hi)
>
> and later the value should be compared to 10, how do you know easily you should use:
>
> if (le32_to_cpu(es->s_blocks_count_hi) == 10)
>
> instead of
>
> if(es->s_blocks_count_hi == 10)
>
> I think writing like Mingming asks should allow to avoid errors later.
>
> (and code becomes really self-explicit...)
>
> Regards,
> Laurent
Hi Laurent,
In this particular case though, the value of s_blocks_count_hi should not be uses on its own. The correct way would be to use ext4_blocks_count() which already does the endian conversion. If you think the code could confuse people as to how to access the data in s_blocks_count_hi, wouldn't hiding it through the use of a macro make more sense than doing an unnecessary endian conversion?
-JRS
-
To unsubscribe from this list: send the line "unsubscribe linux-ext4" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Powered by blists - more mailing lists