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/