From mboxrd@z Thu Jan 1 00:00:00 1970 From: Artem Bityutskiy Subject: Re: [PATCH 1/2] jffs2: implement mount option parsing and compression overriding Date: Sun, 16 Oct 2011 17:03:00 +0300 Message-ID: <1318773789.7278.7.camel@sauron> References: <20111015125006.685efc30@queued.net> Reply-To: dedekind1@gmail.com Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Cc: linux-fsdevel , linux-mtd@lists.infradead.org, David Woodhouse , linux-kernel@vger.kernel.org To: Andres Salomon Return-path: In-Reply-To: <20111015125006.685efc30@queued.net> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: linux-mtd-bounces@lists.infradead.org Errors-To: linux-mtd-bounces+gldm-linux-mtd-36=gmane.org@lists.infradead.org List-Id: linux-fsdevel.vger.kernel.org Hi, please, cc the fs-devel mailing list when you sumbit v2. On Sat, 2011-10-15 at 12:50 -0700, Andres Salomon wrote: > 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. > > Signed-off-by: Andres Salomon You forgot to implement .show_options method of 'struct super_operations' - it is needed to make sure 'compr=none' is shown when you do 'cat /proc/mounts'. > + err = jffs2_parse_options(c, data); > + if (err) { > + printk(KERN_ERR "JFFS2 error: invalid or unknown mount option\n"); 'jffs2_parse_options()' prints the error message, do not duplicate it please. > + return -EINVAL; > + } > + > + return jffs2_do_remount_fs(sb, flags, data); > +} > + > static const struct super_operations jffs2_super_operations = > { > .alloc_inode = jffs2_alloc_inode, > @@ -166,6 +234,13 @@ static int jffs2_fill_super(struct super_block *sb, void *data, int silent) > c->os_priv = sb; > sb->s_fs_info = c; > > + ret = jffs2_parse_options(c, data); > + if (ret) { > + printk(KERN_ERR "JFFS2 error: invalid or unknown mount option\n"); Ditto - kill this printk please. -- Best Regards, Artem Bityutskiy ______________________________________________________ Linux MTD discussion mailing list http://lists.infradead.org/mailman/listinfo/linux-mtd/