Re: [PATCH] jffs2: allow disabling of compression schemes at runtime

Artem Bityutskiy
2011-10-14T08:51:11Z

On Mon, 2011-10-03 at 19:16 -0700, Andres Salomon wrote:
> Currently jffs2 has compile-time constants (and .config options)
> regarding whether or not the various compression/decompression
> drivers are built in and enabled. This is fine for embedded
> systems, but it clashes with distribution kernels. Distro kernels
> tend to turn on everything; this causes OpenFirmware to fall
> over, as it only supports ZLIB decompression. Booting a kernel
> that has LZO compression enabled, writing to the boot partition,
> and then rebooting causes OFW to fail to read the kernel from
> the filesystem. This is because LZO compression has priority
> when writing new data to jffs2, if LZO is enabled.
>
> To get around that, this patch adds jffs2 module params for each
> compressor type that isn't decompression-only. That means I can run
> a kernel that has support for LZO and ZLIB decompression (allowing
> me to read LZO data off of the root partition), while disabling
> LZO compression writes (jffs2.disable_lzo=1) so that the boot
> partition stays compatible with OFW.
>
> Signed-off-by: Andres Salomon <dilinger@queued.net>

You should use mount options instead. Invent nice mount options to
configure compression strategy of JFFS2.

Or you can simply implement the same option as UBIFS has: compr=xxx.

See Documentation/filesystems/ubifs.txt

With this option you set the default compressor which is use when
writing, and on reading all decompression are supported, seems like
exactly what you want. You can also look how it is implemented in UBIFS
for reference.

--
Best Regards,
Artem Bityutskiy