public inbox for linux-ext4@vger.kernel.org
 help / color / mirror / Atom feed
From: Laurent Vivier <Laurent.Vivier@bull.net>
To: Dave Kleikamp <shaggy@linux.vnet.ibm.com>
Cc: "Jose R. Santos" <jrs@us.ibm.com>,
	cmm@us.ibm.com, Andreas Dilger <adilger@clusterfs.com>,
	linux-ext4 <linux-ext4@vger.kernel.org>
Subject: Re: [RFC][PATCH] Set JBD2_FEATURE_INCOMPAT_64BIT on filesystems	larger than 32-bit blocks (take 2).
Date: Tue, 05 Jun 2007 15:26:53 +0200	[thread overview]
Message-ID: <4665649D.8010302@bull.net> (raw)
In-Reply-To: <1181049283.18452.0.camel@kleikamp.austin.ibm.com>

[-- Attachment #1: Type: text/plain, Size: 2328 bytes --]

Dave Kleikamp wrote:
> On Tue, 2007-06-05 at 06:41 -0500, Jose R. Santos wrote:
>> On Mon, 04 Jun 2007 16:01:45 -0700
>> Mingming Cao <cmm@us.ibm.com> wrote:
>>
>>> On Mon, 2007-06-04 at 11:57 -0600, Andreas Dilger wrote:
>>>> On Jun 04, 2007  11:32 -0500, Jose R. Santos wrote:
>>>>> Set the journals JBD2_FEATURE_INCOMPAT_64BIT on devices with more
>>>>> than 32bit block sizes during mount time.  This ensure proper record
>>>>> lenth when writing to the journal.
>>>>>
>>>>> Signed-off-by: Jose R. Santos <jrs@us.ibm.com>
>>>>> ---
>>>>>  fs/ext4/super.c |   11 +++++++++++
>>>>>  1 file changed, 11 insertions(+)
>>>>>
>>>>> Index: linux-2.6.22-rc3/fs/ext4/super.c
>>>>> ===================================================================
>>>>> --- linux-2.6.22-rc3.orig/fs/ext4/super.c	2007-06-04 11:01:20.028360650 -0500
>>>>> +++ linux-2.6.22-rc3/fs/ext4/super.c	2007-06-04 11:05:11.389126418 -0500
>>>>> @@ -1824,6 +1824,17 @@ static int ext4_fill_super (struct super
>>>>>  		goto failed_mount3;
>>>>>  	}
>>>>>  
>>>>> +        /*
>>>>> +	 * Make sure to set JBD2_FEATURE_INCOMPAT_64BIT on filesystems
>>>>> +	 * with more that 32-bit block counts
>>>>> +	 */
>>>>> +	if(es->s_blocks_count_hi &&
>>> This need to be le32_to_cpu(es->s_blocks_count_hi)
>> I'm curious,
>>
>> Why do we need to do an endian conversion to check for a non-zero value
>> in s_blocks_count_hi?  Seems unnecessary here.
> 
> 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
-- 
------------- Laurent.Vivier@bull.net  --------------
       "Any sufficiently advanced technology is
  indistinguishable from magic." - Arthur C. Clarke


[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 189 bytes --]

  reply	other threads:[~2007-06-05 13:27 UTC|newest]

Thread overview: 15+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2007-06-01 15:52 [RFC][PATCH] Set JBD2_FEATURE_INCOMPAT_64BIT on filesystems larger than 32-bit blocks Jose R. Santos
2007-06-01 22:54 ` Andreas Dilger
2007-06-04 16:32   ` [RFC][PATCH] Set JBD2_FEATURE_INCOMPAT_64BIT on filesystems larger than 32-bit blocks (take 2) Jose R. Santos
2007-06-04 17:57     ` Andreas Dilger
2007-06-04 23:01       ` Mingming Cao
2007-06-04 23:32         ` Andreas Dilger
2007-06-05 11:41         ` Jose R. Santos
2007-06-05 13:14           ` Dave Kleikamp
2007-06-05 13:26             ` Laurent Vivier [this message]
2007-06-05 13:49               ` Jose R. Santos
2007-06-05 14:03                 ` Laurent Vivier
2007-06-05 15:46                   ` Jose R. Santos
2007-06-05 16:07                     ` Laurent Vivier
2007-06-05 17:46                       ` Mingming Cao
2007-06-05 19:58                         ` Jose R. Santos

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=4665649D.8010302@bull.net \
    --to=laurent.vivier@bull.net \
    --cc=adilger@clusterfs.com \
    --cc=cmm@us.ibm.com \
    --cc=jrs@us.ibm.com \
    --cc=linux-ext4@vger.kernel.org \
    --cc=shaggy@linux.vnet.ibm.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox