Messages in this thread |  | | Date | Wed, 19 Sep 2001 10:47:41 -0600 | From | Richard Gooch <> | Subject | Re: [2.4.10-pre11 OOPS] in do_generic_file_read |
| |
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/
|  |