Re: [PATCH v3] mtd: Do not corrupt backing device of device nodeinode

From: Jan Kara
Date: Wed May 05 2010 - 10:27:18 EST


On Wed 05-05-10 17:17:19, Artem Bityutskiy wrote:
> On Wed, 2010-05-05 at 11:21 +0300, Kirill A. Shutemov wrote:
> > We cannot modify file->f_mapping->backing_dev_info, because it will corrupt
> > backing device of device node inode, since file->f_mapping is equal to
> > inode->i_mapping (see __dentry_open() in fs/open.c).
> >
> > Let's introduce separate inode for MTD device with appropriate backing
> > device.
> >
> > Signed-off-by: Kirill A. Shutemov <kirill@xxxxxxxxxxxxx>
> > Acked-by: Jan Kara <jack@xxxxxxx>
>
> I get the following build error:
>
> [dedekind@eru l2-mtd-2.6]$ make -j8
> O=/home/dedekind/tmp/l2-mtd-2.6-x86_64/
> GEN /home/dedekind/tmp/l2-mtd-2.6-x86_64/Makefile
> CHK include/linux/version.h
> CHK include/generated/utsrelease.h
> Using /home/dedekind/git/l2-mtd-2.6 as source for kernel
> CALL /home/dedekind/git/l2-mtd-2.6/scripts/checksyscalls.sh
> CHK include/generated/compile.h
> CHK include/linux/version.h
> make[3]: `scripts/unifdef' is up to date.
> Building modules, stage 2.
> Kernel: arch/x86/boot/bzImage is ready (#2)
> MODPOST 146 modules
> ERROR: "__iget" [drivers/mtd/mtdchar.ko] undefined!
> ERROR: "inode_lock" [drivers/mtd/mtdchar.ko] undefined!
> make[2]: *** [__modpost] Error 1
> make[1]: *** [modules] Error 2
> make: *** [sub-make] Error 2
>
> __iget and inode_lock are not exported...
Ah, right. igrab() should be used instead of __iget inside the
inode_lock.

Honza

--
Jan Kara <jack@xxxxxxx>
SUSE Labs, CR
--
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/