Re: [PATCH 3/7] inflate pt1: clean up input logic

From: John Reiser
Date: Sat Feb 25 2006 - 17:23:03 EST


Matt Mackall wrote:
> On Sat, Feb 25, 2006 at 09:22:48PM +0000, Russell King wrote:
>
>>init/do_mounts_rd.c:#include "../lib/inflate.c"
>>init/initramfs.c:#include "../lib/inflate.c"
>>
>>for these your arguments that halting is fine is _NOT_ correct nor is it
>>desirable.
>
>
> If you have an argument for why we shouldn't halt on failed
> init{rd,ramfs} decompression, I look forward to hearing it.

It depends on the nature of the error, and which parts were decompressed
successfully. Gzip has optional "re-sync" capability, and ideally a
decompression failure might invoke some kind of bad-block tagging
for the output instead of halting the machine. Some init{rd,ramfs}
have all the network drivers, all the SCSI drivers, all the sound
drivers, etc., but the user may care only about those for the current
machine. Other init{rd,ramfs} contain only "essential" pieces.
Even then, the pieces that are deemed more important can be at the
beginning. It might be possible to work without a sound driver,
but perhaps not without a SCSI driver.

> In my mind, being unable to decompress init* is every bit as fatal as
> being unable to mount root.

It may be possible to recover, at least partially, from one error
more than from another. It would be nice if the decompressor itself
was a minor influence instead of a major one.

--
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/