Some of this information is collected using ioctl(). John indicated my
patch to linux 2.4's DAC driver worked. But I think my patch makes it
only "mostly" worked, and is better because it doesn't leave the driver
in a broken state.
I think this problem needs to be fixed correctly. I'll try to
put together a fix first for linux 2.5, and then backport it to linux 2.4.
I'll first try to get the Mylex "Global Array Manager" (GAM) software working
on a system around here. I'll make certain it is using the pass-through
commands. Then, I'll either try to reverse-engineer the pass-through
commands, or I'll try Christoph's suggestion of moving the
pass-through ioctl's to a new char device, and try writing a LD_PRELOAD
wrapper.
I've looked at Christoph's DAC960 patch fixing up the open method, removing
the release method and adding a media change method. It looks OK.
I'll apply it to my local source, and begin changes from there.
I'll see if I can get something in about a week.
On Mon, Apr 21, 2003 at 04:14:44PM -0400, Alan Cox wrote:
>
> > John Kamp has run across a libhd applcation from Suse that hit this bug.
> > It's some kind of hardware detection application. It opens devices with
> > O_NONBLOCK. But, it doesn't in fact use the DAC960 pass-through commands.
>
> It should be checking major/minor first - rightfully or wrongly (I'd
> favour wrongly) open has side effects on multiple devices.
>
> > The difficulty is that the Mylex application is available only in binary
> > form. Mylex is very secretive about its controller commands.
> > It would be nice to be able to create a library that an application
> > could call to perform high-level operations, and the library would
> > construct the pass-through commands and pass them to the driver.
> > Then, anyone could write their own GUI.
>
> Or someone could just stick a command dumper in the driver. Thats how I
> wrote ps and a few other utils for my aacraid 8)
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/