mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
From: Dave Olien <dmo@osdl.org>
To: Alan Cox <alan@redhat.com>
Cc: Christoph Hellwig <hch@infradead.org>,
	marcelo@conectiva.com.br, linux-kernel@vger.kernel.org
Subject: Re: [PATCH] DAC960 open with O_NONBLOCK
Date: Mon, 21 Apr 2003 14:35:35 -0700	[thread overview]
Message-ID: <20030421213535.GB27126@osdl.org> (raw)
In-Reply-To: <200304212014.h3LKEiE00854@devserv.devel.redhat.com>


I looked briefly at the source code for libhd.  It consists of two
applications: hwinfo and hwscan, and a supporting library.  It has
compiled into it knowledge of all "possible" device drivers, including
the DAC960.  It has a unique of probe routine for each "possible"
device driver.  It collects information about the devices, such as disk
geometry and partition sizes.

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)

      reply	other threads:[~2003-04-21 21:23 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2003-04-21 17:24 Dave Olien
2003-04-21 17:37 ` Christoph Hellwig
2003-04-21 19:01   ` Dave Olien
2003-04-21 19:04     ` Christoph Hellwig
2003-04-21 20:14     ` Alan Cox
2003-04-21 21:35       ` Dave Olien [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20030421213535.GB27126@osdl.org \
    --to=dmo@osdl.org \
    --cc=alan@redhat.com \
    --cc=hch@infradead.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=marcelo@conectiva.com.br \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox

all inboxes | Powered by JetHome®