* Re: Fw: [Bug 5880] Transcend CF pcmcia card no longer works [not found] ` <43C896F0.1080005@yahoo.com.au> @ 2006-01-16 8:45 ` Tejun Heo 2006-01-16 9:55 ` Bartlomiej Zolnierkiewicz 0 siblings, 1 reply; 2+ messages in thread From: Tejun Heo @ 2006-01-16 8:45 UTC (permalink / raw) To: Nick Piggin Cc: Andrew Morton, axboe, bugme-daemon@kernel-bugs.osdl.org, Bartlomiej Zolnierkiewicz, Linux-ide Nick Piggin wrote: > Andrew Morton wrote: > >> (Adding bugzilla back to cc) >> >> Tejun Heo <htejun@gmail.com> wrote: >> > >>>> I'm not sure that it has been deallocated, rather something has >>>> overwritten >>>> it, no? >>> >>> >>> The ldm validation or failure seems irrelevant. From the original >>> bug report. >>> > > Looks like you're right. > > It was just odd that the ldm check worked and the msdos one > oopsed; both attempt to read the same block in the same manner. > > Perhaps it may be that the queue was freed long before then, and > only just gets reused for something else and overwritten at this > point. > > slab debugging might help? > [CC'ing Bartlomiej and linux-ide] Hello, Bartlomiej. This thread started by Andrew forwarding bugzilla #5880 to as-iosched related people as the machine oopsed in anticipatory scheduler. After diagnosis, it seems to be premature device release problem of IDE driver. The original bug entry is http://bugzilla.kernel.org/show_bug.cgi?id=5880 The original bug is about CF device unuseable. The oops occurs after yanking out the CF device during partition check is in progress (all are failing due to IO error). I've glanced through the IDE code and the problem seems to be in ide_disk_get(). This function doesn't get the IDE generic device (ide_drive_t->gendev) and so if a device is yanked out while it's still open, the gendev doesn't wait for the open fd's to be closed. This results in dangling open block device and thus above oops. I'm not very sure about this analysis and currently don't have access to hot-unpluggable IDE devices. Can you please confirm this? Thanks. -- tejun ^ permalink raw reply [flat|nested] 2+ messages in thread
* Re: Fw: [Bug 5880] Transcend CF pcmcia card no longer works 2006-01-16 8:45 ` Fw: [Bug 5880] Transcend CF pcmcia card no longer works Tejun Heo @ 2006-01-16 9:55 ` Bartlomiej Zolnierkiewicz 0 siblings, 0 replies; 2+ messages in thread From: Bartlomiej Zolnierkiewicz @ 2006-01-16 9:55 UTC (permalink / raw) To: Tejun Heo Cc: Nick Piggin, Andrew Morton, axboe, bugme-daemon@kernel-bugs.osdl.org, Linux-ide On 1/16/06, Tejun Heo <htejun@gmail.com> wrote: > Nick Piggin wrote: > > Andrew Morton wrote: > > > >> (Adding bugzilla back to cc) > >> > >> Tejun Heo <htejun@gmail.com> wrote: > >> > > > >>>> I'm not sure that it has been deallocated, rather something has > >>>> overwritten > >>>> it, no? > >>> > >>> > >>> The ldm validation or failure seems irrelevant. From the original > >>> bug report. > >>> > > > > Looks like you're right. > > > > It was just odd that the ldm check worked and the msdos one > > oopsed; both attempt to read the same block in the same manner. > > > > Perhaps it may be that the queue was freed long before then, and > > only just gets reused for something else and overwritten at this > > point. > > > > slab debugging might help? > > > > [CC'ing Bartlomiej and linux-ide] > > Hello, Bartlomiej. > > This thread started by Andrew forwarding bugzilla #5880 to as-iosched > related people as the machine oopsed in anticipatory scheduler. After > diagnosis, it seems to be premature device release problem of IDE > driver. The original bug entry is > > http://bugzilla.kernel.org/show_bug.cgi?id=5880 > > The original bug is about CF device unuseable. The oops occurs after > yanking out the CF device during partition check is in progress (all are > failing due to IO error). > > I've glanced through the IDE code and the problem seems to be in > ide_disk_get(). This function doesn't get the IDE generic device > (ide_drive_t->gendev) and so if a device is yanked out while it's still > open, the gendev doesn't wait for the open fd's to be closed. This > results in dangling open block device and thus above oops. I'm not very > sure about this analysis and currently don't have access to > hot-unpluggable IDE devices. > > Can you please confirm this? Hi Tejun, Confirmed, we need to get/put generic device in ide_disk_{get,put}() similarly like drivers/scsi/sd.c driver does it (the same also applies to ide-{cd,floppy,tape,scsi} drivers). I would happily apply a patch fixing it (*hint*, *hint*). Now back to the original problem ("ghost" slave device): Pavel, is there any way to recognize this PCMCIA IDE controller in ide-cs driver so we could tell IDE subsystem not to probe slave devices? Thanks, Bartlomiej ^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2006-01-16 9:55 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
[not found] <20060113113922.23ce6d78.akpm@osdl.org>
[not found] ` <43C87CF2.30402@gmail.com>
[not found] ` <43C88509.7090009@yahoo.com.au>
[not found] ` <43C88FBB.3000607@gmail.com>
[not found] ` <20060113215218.68a68f4e.akpm@osdl.org>
[not found] ` <43C896F0.1080005@yahoo.com.au>
2006-01-16 8:45 ` Fw: [Bug 5880] Transcend CF pcmcia card no longer works Tejun Heo
2006-01-16 9:55 ` Bartlomiej Zolnierkiewicz
This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.