* 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.