Re: [Squashfs-devel] Squashfs mainlining status?

From: Geert Uytterhoeven
Date: Thu Jul 17 2008 - 11:35:47 EST


Hi Peter,

On Wed, 4 Jun 2008, Peter Korsgaard wrote:
> >>>>> "Phillip" == Phillip Lougher <phillip@xxxxxxxxxxxxxxxxxxx> writes:
> Phillip> The major work of course is the move to a little endian
> Phillip> layout without any bit fields in the structures to make it
> Phillip> easier to swap member fields on big-endian architectures.
> Phillip> I'm currently working on this on a non-CVS branch.
> Phillip> Most of the work till now has been without any attempt to
> Phillip> retain backwards compatibility with the current 3.3
> Phillip> little-endian filesystem layout. After your private email
> Phillip> regarding retaining backwards compatibility I will look
> Phillip> again at this issue, it may well be that I will abandon my
> Phillip> current layout changes that I have so far made.
>
> What private mail? Anything of interest to the rest of the group? As I

Oops, I've just returned from holidays, and realize I never actually responded
to this question. So here is the gist of it:

| I had a closer look at the structures and bitfields, and I still think it's
| possible to stay compatible with the current little endian layout:
| 1. About half of the bitfields are actually bytes or 16-bit words. Hence
| these can easily be converted to __u8 or __le16.
| 2. Most of the remaining bitfields sit in an 8, 16, or 32 bit integer.
| Hence these can be converted to such an integer (or an array of bytes,
| cfr. 3 below), and accessed using get_unaligned_le{16,32}() and a
| shift/mask operation.
| 3. There are a few bitfields that sit in an `odd' number of bytes. These
| can be converted to an array of bytes, and accessed using
| get_unaligned_le{16,32}() and a shift/mask operation.
| 4. The integral fields in the structs should be accessed using
| get_unaligned_le{8,16,32}(), too.

I noticed the squashfs CVS repository is getting a new (incompatible) 4.0
layout now?

What do people think?

With kind regards,

Geert Uytterhoeven
Software Architect

Sony Techsoft Centre Europe
The Corporate Village  Da Vincilaan 7-D1  B-1935 Zaventem  Belgium

Phone: +32 (0)2 700 8453
Fax: +32 (0)2 700 8622
E-mail: Geert.Uytterhoeven@xxxxxxxxxxx
Internet: http://www.sony-europe.com/

A division of Sony Europe (Belgium) N.V.
VAT BE 0413.825.160 Â RPR Brussels
Fortis 293-0376800-10 GEBA-BE-BB