On Mon, Nov 12, 2001 at 03:13:42PM +0100, Michael Schmitz wrote: > > > If the disk is mounted the reread partition table ioctl needs to fail, > > > period (there's no way for the kernel to update all the internal disk info > > > related to the partition table with a disk in use). > > > > Right. What happens if it's still mounted is you should get a warning > > about how it failed. > > You get -EBUSY, and perhaps a kernel log message (SCSI at least). This > happening on the iBook I assume we're talking about IDE disks here, not > something weird like USB disks routed via SCSI emulation of some sort? > > There's one thing that bothers me WRT ide_revalidate_disk: it clears > drive->busy before waking the device queue (but maybe that's required in > order to get things started at all). For all I can see, reading the > partition table back in should have completed at that point, though (and > everything the kernel needs in order to access the device should be > valid). How a sync immediately after this should crash is beyond me. > > > > And then what? The kernel doesn't care about OF after early boot init, > > > right? > > > > My (admitiedly wierd/wild idea) is that it's not that OF is still doing > > something, but that OF opened something on the disk when it was still > > alive, and we left the HW in a bad state. > > That should show up way earlier I think.
Perhaps, unless it's something we only tickle at this point. Like I said it's a wierd/wild idea. :) But Al Viro has been hunting and killing races in the VFS stuff for a while now which is why I sort-of discount the partition table stuff myself. But I really want to see the testcase someone said they wrote, it'll make life easier in tracking this down :) -- Tom Rini (TR1265) http://gate.crashing.org/~trini/