From: Dave Olien <dmo@osdl.org>
To: Christoph Hellwig <hch@infradead.org>,
marcelo@conectiva.com.br, alan@redhat.com,
linux-kernel@vger.kernel.org
Subject: Re: [PATCH] DAC960 open with O_NONBLOCK
Date: Mon, 21 Apr 2003 12:01:11 -0700 [thread overview]
Message-ID: <20030421190111.GA27126@osdl.org> (raw)
In-Reply-To: <20030421183752.A8782@infradead.org>
On Mon, Apr 21, 2003 at 06:37:52PM +0100, Christoph Hellwig wrote:
>
> I just went over the same code in 2.5 - the reference counts are
> entirely superflous, you can just nuke them.
Yup, that was the plan.
>
> > I don't like this "special file descriptor" method. I would have much
> > rather created an entry in /proc or something to support these pass through
> > commands. But I imagine there are applications out there that expect
> > these special file descriptors. On the other hand, this HAS been
> > broken throught the life on linux 2.4.
>
> What applications?
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.
The Mylex web page has a RAID management application for DAC960 on Linux that
is available only in BINARY form. Unfortunately, it requires
a Windows front-end to provide a GUI. So, I haven't actually experimented
with it. If any application uses the pass-through commands, this would likely
be it. But since no one has complained about this being broken, it may
indicate no one is using this application.
Or, maybe the application is just not being used in a way that triggers
this bug.
I'm reluctant to just eliminate the behavior because of that.
>
> > I'll be submitting a similar patch to linux 2.5 shortly.
>
> Don't even bother. Linux 2.5 is the place to fix this issue
> correctly.
It would be nice to just eliminate the O_NONBLOCK sillines from the
open(), ioctl(), and release() methods.
The pass-through behavior could be made available either through
a /proc or a sysfs file.
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.
A related question, why does linux 2.5 continue to have a "struct file *"
argument to driver release methods? As far as I can tell, that argument
is always NULL?
next prev parent reply other threads:[~2003-04-21 18:50 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 [this message]
2003-04-21 19:04 ` Christoph Hellwig
2003-04-21 20:14 ` Alan Cox
2003-04-21 21:35 ` Dave Olien
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=20030421190111.GA27126@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®