Re: [2.4.10-pre11 OOPS] in do_generic_file_read
Richard Gooch (rgooch@ras.ucalgary.ca)
Wed, 19 Sep 2001 10:47:41 -0600
Paul Mackerras writes:
> Nick Piggin writes:
>
> > I got the following oops on startup while mounting the root filesystem.
> > Unfortunately there was no "Code" because of a bad EIP value. If anyone
> > would like more information or anything for me to test, please CC me.
>
> I got something similar. I would predict that you are using devfs.
> The problem is that devfs doesn't set inode->i_mapping->a_ops for a
> block device. Ext2 (for instance) calls init_special_inode, and pre11
> added a line to that procedure to initialize that field. But devfs
> doesn't use init_special_inode.
>
> The patch below fixes the problem for me. It may be that devfs should
> be calling init_special_inode instead, but that sets inode->i_fop as
> well and it looks like devfs sets that a bit differently. Richard?
Correct. In devfs, I need to capture the open() method. So my fops
have devfs_open(), which in turn initialises file->f_op as required.
I've applied your patch to my tree. I'll be releasing a new patch
shortly.
Regards,
Richard....
Permanent: rgooch@atnf.csiro.au
Current: rgooch@ras.ucalgary.ca
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/