[PATCH v3] mtd: Do not corrupt backing device of device node inode
Jan Kara
jack at suse.cz
Wed May 5 10:27:07 EDT 2010
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 at shutemov.name>
> > Acked-by: Jan Kara <jack at suse.cz>
>
> I get the following build error:
>
> [dedekind at 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 at suse.cz>
SUSE Labs, CR
More information about the linux-mtd
mailing list