Re: [RFC] /proc/ide/hdx/settings with ide-default pseudo-driver isa 2.6/2.7 show-stopper

From: Alan Cox
Date: Thu Aug 28 2003 - 14:44:11 EST


On Iau, 2003-08-28 at 19:39, Bartlomiej Zolnierkiewicz wrote:
> > Because you need to manipulate drives not attached to a driver
> > currently. I guess you could go through hoops to avoid it, but the
> > old IDE driver was just full of bugs that ide_default removed,
> > and it removed rather more code than it added.
>
> Heh.. bugs yes, code not :).

It removed code. I counted both lines and size when deciding to take
that path 8)

> > You also need to be able to open the device to talk to the empty
>
> You can't open devices owned by ide-default in 2.6 because ide-default,
> probably because it doesnt call add_disk() for them.

ide_default in 2.6 has no open/close method. In the latest 2.4-ac (bits
I sent to Marcelo too) it has one because it now needs it.

> I think scsi does it without default driver. procfs or sysfs

The scsi scheme is somewhat broken, it also fails with hotplug because
if I ask for a reprobe of "0 0 0" and we change controllers - we've just
rescanned the wrong bus. Its only a small race but its real.

> > You need the unplugged_ops for controller unplug, I'm more worried about
> > disk unplug (which I have working now). For controller unplug you either
>
> So you can unplug disk in the middle of the transfer,
> replug and transfer is continued?

I can do

umount /dev/hda
hdparm -b0 /dev/hda
hdparm -b1 /dev/hda
mount /dev/hda

and mount a different disk/cd/dvd. Its very nice on the thinkpads

In the 2.4 case its a bit messier than I suspect you can do in 2.6
because I can't rely on sane behaviour if I remove queues etc, instead
I keep the queue around so that to the block layer nothing disappears
and is freed up causing race issues but to the IDE layer the right stuff
happens (I think ;))

Alan

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/