All of lore.kernel.org
 help / color / mirror / Atom feed
* [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.