* [GIT PULL] Squashfs updates for 2.6.34
@ 2010-03-01 19:41 Phillip Lougher
2010-03-03 17:08 ` Linus Torvalds
0 siblings, 1 reply; 5+ messages in thread
From: Phillip Lougher @ 2010-03-01 19:41 UTC (permalink / raw)
To: Linus Torvalds; +Cc: Linux Kernel Development, Andrew Morton
Hi Linus,
Please pull the following Squashfs updates. They add support
for lzma compressed file systems, plus there's also a couple of
trivial code tidy patches.
Thanks
Phillip
-------
The following changes since commit 7284ce6c9f6153d1777df5f310c959724d1bd446:
Linus Torvalds (1):
Linux 2.6.33-rc4
are available in the git repository at:
git://git.kernel.org/pub/scm/linux/kernel/git/pkl/squashfs-linus.git master
Phillip Lougher (11):
Squashfs: move zlib decompression wrapper code into a separate file
Squashfs: factor out remaining zlib dependencies into separate wrapper file
Squashfs: add a decompressor framework
Squashfs: add decompressor entries for lzma and lzo
Squashfs: add support for LZMA compressed filesystems
lzma: Make lzma available to non initramfs/initrd code
Squashfs: select DECOMPRESS_LZMA_NEEDED when including support for lzma
lzma: make lzma reentrant
Squashfs: get rid of obsolete variable in struct squashfs_sb_info
Squashfs: get rid of obsolete definition in header file
Squashfs: update Kconfig help to include lzma support
Randy Dunlap (1):
libs: force lzma_wrapper to be retained
fs/squashfs/Kconfig | 23 +++--
fs/squashfs/Makefile | 3 +-
fs/squashfs/block.c | 76 +---------------
fs/squashfs/cache.c | 1 -
fs/squashfs/decompressor.c | 72 ++++++++++++++++
fs/squashfs/decompressor.h | 55 ++++++++++++
fs/squashfs/dir.c | 1 -
fs/squashfs/export.c | 1 -
fs/squashfs/file.c | 1 -
fs/squashfs/fragment.c | 1 -
fs/squashfs/id.c | 1 -
fs/squashfs/inode.c | 1 -
fs/squashfs/lzma_wrapper.c | 151 +++++++++++++++++++++++++++++++++
fs/squashfs/namei.c | 1 -
fs/squashfs/squashfs.h | 11 ++-
fs/squashfs/squashfs_fs.h | 6 +-
fs/squashfs/squashfs_fs_sb.h | 40 +++++-----
fs/squashfs/super.c | 49 ++++++-----
fs/squashfs/symlink.c | 1 -
fs/squashfs/zlib_wrapper.c | 150 ++++++++++++++++++++++++++++++++
include/linux/decompress/bunzip2_mm.h | 13 +++
include/linux/decompress/inflate_mm.h | 13 +++
include/linux/decompress/mm.h | 4 -
include/linux/decompress/unlzma_mm.h | 20 +++++
include/linux/decompress/unlzo_mm.h | 13 +++
lib/Kconfig | 3 +
lib/Makefile | 2 +-
lib/decompress_bunzip2.c | 1 +
lib/decompress_inflate.c | 1 +
lib/decompress_unlzma.c | 88 ++++++++++---------
lib/decompress_unlzo.c | 1 +
31 files changed, 621 insertions(+), 183 deletions(-)
create mode 100644 fs/squashfs/decompressor.c
create mode 100644 fs/squashfs/decompressor.h
create mode 100644 fs/squashfs/lzma_wrapper.c
create mode 100644 fs/squashfs/zlib_wrapper.c
create mode 100644 include/linux/decompress/bunzip2_mm.h
create mode 100644 include/linux/decompress/inflate_mm.h
create mode 100644 include/linux/decompress/unlzma_mm.h
create mode 100644 include/linux/decompress/unlzo_mm.h
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [GIT PULL] Squashfs updates for 2.6.34
2010-03-01 19:41 [GIT PULL] Squashfs updates for 2.6.34 Phillip Lougher
@ 2010-03-03 17:08 ` Linus Torvalds
2010-03-04 1:17 ` Phillip Lougher
0 siblings, 1 reply; 5+ messages in thread
From: Linus Torvalds @ 2010-03-03 17:08 UTC (permalink / raw)
To: Phillip Lougher; +Cc: Linux Kernel Development, Andrew Morton, Alain Knaff
On Mon, 1 Mar 2010, Phillip Lougher wrote:
>
> Please pull the following Squashfs updates. They add support
> for lzma compressed file systems, plus there's also a couple of
> trivial code tidy patches.
No. I'm not pulling this.
> include/linux/decompress/bunzip2_mm.h | 13 +++
> include/linux/decompress/inflate_mm.h | 13 +++
> include/linux/decompress/mm.h | 4 -
> include/linux/decompress/unlzma_mm.h | 20 +++++
> include/linux/decompress/unlzo_mm.h | 13 +++
What the _h*ll_ is the point of these totally illogical and ugly files?
The name makes no sense, and the _contents_ make zero sense either.
Please. Don't add more ugly generic header files into the main include
directory. I realize that the ugliness is partly historical (that
"<linux/decompress/mm.h>" file sure as hell was messy to begin with), but
this just makes that crazy situation worse.
Clean up the mess instead of making it even less understandable. Please.
That whole "#ifdef STATIC" crap needs to go - not get spread out even
more.
Linus
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [GIT PULL] Squashfs updates for 2.6.34
2010-03-03 17:08 ` Linus Torvalds
@ 2010-03-04 1:17 ` Phillip Lougher
2010-03-04 3:49 ` Linus Torvalds
0 siblings, 1 reply; 5+ messages in thread
From: Phillip Lougher @ 2010-03-04 1:17 UTC (permalink / raw)
To: Linus Torvalds; +Cc: Linux Kernel Development, Andrew Morton, Alain Knaff
Linus Torvalds wrote:
>
> Please. Don't add more ugly generic header files into the main include
> directory. I realize that the ugliness is partly historical (that
> "<linux/decompress/mm.h>" file sure as hell was messy to begin with), but
> this just makes that crazy situation worse.
>
> Clean up the mess instead of making it even less understandable. Please.
> That whole "#ifdef STATIC" crap needs to go - not get spread out even
> more.
>
OK. The decompressor code (inflate/bunzip/lzma) is a "pile
of crap" and mm.h more so. In the past six months I've fixed a lot
of truly bad problems with that code (NULL pointers, buffer over-runs etc.).
In my defence with these patches I was trying for the best solution while
touching as little of the mess as possible. As that's not acceptable, I'll
go away and try and fix some of the mess, before trying for another merge.
Thanks
Phillip
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [GIT PULL] Squashfs updates for 2.6.34
2010-03-04 1:17 ` Phillip Lougher
@ 2010-03-04 3:49 ` Linus Torvalds
2010-03-04 4:52 ` H. Peter Anvin
0 siblings, 1 reply; 5+ messages in thread
From: Linus Torvalds @ 2010-03-04 3:49 UTC (permalink / raw)
To: Phillip Lougher
Cc: Linux Kernel Development, Andrew Morton, Alain Knaff, Peter Anvin
On Thu, 4 Mar 2010, Phillip Lougher wrote:
>
> In my defence with these patches I was trying for the best solution while
> touching as little of the mess as possible. As that's not acceptable, I'll
> go away and try and fix some of the mess, before trying for another merge.
I know, I understand. The whole thing is messy as hell, I just don't want
that mess to spread even more.
Let's ask Peter for help. He's been involved with that whole crazy init
loader decompressor thing.
Peter, see the thread and my unhappiness on lkml (if you don't have any
other archives, see for example http://lkml.org/lkml/2010/3/3/275).
That whole crazy "let's hide a crappy malloc implementation in a header
file, and then make things depend on '#ifdef STATIC'" just makes me puke.
And I'm sure Phillip has been gouging his eyes out too, while he was
spreading it out into those _new_ crazy header file fragments for each
decompressor.
So rather than have those crazy header file tricks, can we just add a
kmalloc() _library_ file for the crazy bootloader crud, so that the
bootloader could just share header files with the regular kernel, and not
do that crazy thing?
It's insane having that malloc() implementation, and those STATIC games,
in a header file, and the games we play with "error()" sometimes being a
function pointer and sometimes being a function. Crazy, crazy.
So Phillip split up these things:
#ifdef STATIC
/* Code active when included from pre-boot environment: */
#define INIT
#else
/* Compile for initramfs/initrd code only */
#define INIT __init
static void(*error)(char *m);
#endif
and I refuse to see three new copies of that disgusting thing (bunzip,
inflate, lzma). So I'd really _really_ want for the pre-boot environment
to have that same __init declaration, and the _same_ indirect error()
handler model, so that we don't have this kind of thing spreading.
It was ugly enough in <compress/mm.h> (which really should be nuked from
orbit - it's the only way to be sure), but when I see it spreading, I go
into full zombie-attack mode, and want to start up the chainsaw and run
around naked.
Linus
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [GIT PULL] Squashfs updates for 2.6.34
2010-03-04 3:49 ` Linus Torvalds
@ 2010-03-04 4:52 ` H. Peter Anvin
0 siblings, 0 replies; 5+ messages in thread
From: H. Peter Anvin @ 2010-03-04 4:52 UTC (permalink / raw)
To: Linus Torvalds
Cc: Phillip Lougher, Linux Kernel Development, Andrew Morton, Alain Knaff
On 03/03/2010 07:49 PM, Linus Torvalds wrote:
>
> So rather than have those crazy header file tricks, can we just add a
> kmalloc() _library_ file for the crazy bootloader crud, so that the
> bootloader could just share header files with the regular kernel, and not
> do that crazy thing?
>
> It's insane having that malloc() implementation, and those STATIC games,
> in a header file, and the games we play with "error()" sometimes being a
> function pointer and sometimes being a function. Crazy, crazy.
>
If with library you mean a linking library, that won't work everywhere,
because on some platforms the early-kernel decompressor needs to be
compiled with differently than the kernel as a whole. However, it would
be easy enough to have a source-level library (I don't mean an include
file, obviously) and a common include file to wrap this all up in.
> So Phillip split up these things:
>
> #ifdef STATIC
> /* Code active when included from pre-boot environment: */
> #define INIT
> #else
> /* Compile for initramfs/initrd code only */
> #define INIT __init
> static void(*error)(char *m);
> #endif
>
> and I refuse to see three new copies of that disgusting thing (bunzip,
> inflate, lzma). So I'd really _really_ want for the pre-boot environment
> to have that same __init declaration, and the _same_ indirect error()
> handler model, so that we don't have this kind of thing spreading.
Such a common header file for the preboot environment could simply do:
#undef __init
... and be done with it. That way we don't have to worry about mucking
with $DEITY knows how many linker scripts... it seems the easiest, and
would certainly eliminate any uglies outside the common file.
> It was ugly enough in <compress/mm.h> (which really should be nuked from
> orbit - it's the only way to be sure), but when I see it spreading, I go
> into full zombie-attack mode, and want to start up the chainsaw and run
> around naked.
OK, we really really don't want that... simply because there just aren't
enough zombies to go around already. Last I heard, the EPA was
considering classifying them as an endangered species, only to get stuck
in a bureaucratic mess if they can be classified as a "species" at all,
or if they should be classified together with bread mold, toxic waste
and Microsoft salesmen.
The only problem with this is that it'll touch nearly every
architecture, so it probably is going to have to be .35 material.
-hpa
--
H. Peter Anvin, Intel Open Source Technology Center
I work for Intel. I don't speak on their behalf.
^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2010-03-04 4:53 UTC | newest]
Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2010-03-01 19:41 [GIT PULL] Squashfs updates for 2.6.34 Phillip Lougher
2010-03-03 17:08 ` Linus Torvalds
2010-03-04 1:17 ` Phillip Lougher
2010-03-04 3:49 ` Linus Torvalds
2010-03-04 4:52 ` H. Peter Anvin
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.