jffs2: implement mount option parsing and compression overriding
authorAndres Salomon <dilinger@queued.net>
Mon, 17 Oct 2011 01:15:16 +0000 (18:15 -0700)
committerArtem Bityutskiy <artem.bityutskiy@intel.com>
Wed, 19 Oct 2011 14:22:20 +0000 (17:22 +0300)
commit92abc475d8de1c29373f6d96ed63d8ecaa199d25
tree44f4d9d04fd04ccee9877e28d8fff5e472bba7d2
parent23b1a99b87f3fc9e4242b98b2af3c9bed210f048
jffs2: implement mount option parsing and compression overriding

Currently jffs2 has compile-time constants (and .config options)
controlling 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 understands ZLIB-compressed inodes.  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.

This patch adds mount option parsing, and a single supported
option ("compr=none").  This adds the flexibility of being
able to specify which compressor overrides on a per-superblock
basis.  For now, we can simply disable compression;
additional flexibility coming soon.

v2: kill some printks, and implement show_options as suggested
by Artem Bityutskiy.

Signed-off-by: Andres Salomon <dilinger@queued.net>
Signed-off-by: Artem Bityutskiy <artem.bityutskiy@intel.com>
fs/jffs2/compr.c
fs/jffs2/fs.c
fs/jffs2/jffs2_fs_sb.h
fs/jffs2/os-linux.h
fs/jffs2/super.c