xfs
[Top] [All Lists]

Re: BUG REPORT: XFS LOG FORWARD COMPATIBILITY PROBLEM

To: Eric Sandeen <sandeen@xxxxxxxxxxx>
Subject: Re: BUG REPORT: XFS LOG FORWARD COMPATIBILITY PROBLEM
From: Eddy Zhao <eddy.y.zhao@xxxxxxxxx>
Date: Tue, 28 Jul 2009 22:59:49 +0800
Cc: Lachlan McIlroy <lmcilroy@xxxxxxxxxx>, xfs@xxxxxxxxxxx
Dkim-signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:mime-version:received:in-reply-to:references :date:message-id:subject:from:to:cc:content-type; bh=/M1HLQUFm1t6NoC1cqmL7Mc5uNeNWHR+eLTr1SjpuG4=; b=YnsgKUyNCMhKDIG24t5rgIhI5p6csyeS8k/G/HYipwfp7nFAG69UkdgjspqIcvv3kb tzt7PwvlrYXJVTvgu1kN8s8bVc0AYVZ0dE7RvEU4r147lIVj+qzScBIBzW8T2nxnNyCz xNWJNg56FMgghJC/jJI+EacsLNDJmry6rz3DQ=
Domainkey-signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :cc:content-type; b=UD2IEs6sXUj+HfnFGLoQNI/zWKyzYQORwjImAOxDCsrEXgH7hYkB0jnRZ6XpUQGAM5 18hdo2BE51amQCTDMaVQ+1tnlp2dpbtFyKz59X+cWZ9UYrF5O12C8c0VeoHBed69Qh0m ae4lRb7PtbmT6Hy4iCLmJSg7nIB2AjG7Z/50o=
In-reply-to: <4A6F0978.4070709@xxxxxxxxxxx>
References: <362522677.1010811248671789619.JavaMail.root@xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx> <1938435153.1010831248671852499.JavaMail.root@xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx> <b094161c0907280550y58cde45fja97b2c413c92a8d4@xxxxxxxxxxxxxx> <4A6F0978.4070709@xxxxxxxxxxx>

Hello Eric:

>
> Well, the fact that you have 2 arches would have been highly relevant in
> your first email.  ;)  Is this the old abi or the new?  Guessing old,
> based on the alignment issues.
>

ARM compiler is producing eabi. The problem lies in: "long long" on arm is 8 bytes aligned, on x86 is 4 bytes aligned. So 4 more bytes are padded before xfs_inode_log_format::ilf_ino on arm.

>
> Well, packing structures like mad is not a great solution[1] - it needs
> to be done carefully & judiciously.  We don't want to pack structures
> that are already aligned on most arches, because this will cause
> performance issues.
>

Interesting. Nice tip.

>
> But I see above you've found a few that were, for various reasons.  Note
> that the dir2 types above use a funky "__arch_pack" to conditionally
> pack only on arm old abi:
>

Get it. Thanks for the reminder.

>
> To be honest, I am not certain that this is "worth fixing" - we already
> have the requirement that log replay can only be done on an architecture
> of the same endianness, and a further requirement that it can only be
> done on architectures with similar alignment rules doesn't seem so bad.
>

Where is the official description of such requirment? The requirment is not obvious to new XFS users, and they should be warned :)

Why is such requirment? For backward compatibility?

I think the requirment is bad. It inhibit user from exchanging data freely between systems, which is an obvious requirment for file system design.

>
> The problem is, if you go off and "fix" this on arm now, you'll find
> that logs created under older arm kernels can't be replayed on newer arm
> kernels and vice versa...
>

Compared with the above restriction("requirment"), we can afford this :)

Do I miss any other log/metadata needs pack on 2.6.10?

Thanks
Eddy

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