From: Erik Andersen <andersen@codepoet.org>
To: "Calin A. Culianu" <calin@ajvar.org>
Cc: linux-kernel@vger.kernel.org
Subject: Re: Asynchronous CDROM Events in Userland
Date: Mon, 4 Feb 2002 00:04:14 -0700 [thread overview]
Message-ID: <20020204070414.GA19268@codepoet.org> (raw)
In-Reply-To: <Pine.LNX.4.30.0202032333200.1158-100000@rtlab.med.cornell.edu>
In-Reply-To: <Pine.LNX.4.30.0202032333200.1158-100000@rtlab.med.cornell.edu>
On Sun Feb 03, 2002 at 11:41:47PM -0500, Calin A. Culianu wrote:
>
> Is there any way, other than by polling, to have a user process be
> notified of a change in status on a cdrom drive? (Such as if the drive
> opens, closes, gets new media, etc)?
Nope. It would be nice, but the current crop of hardware simply
doesn't support it. From the Mt. Fuji spec (SFF8090i) 11.5 Get
Event/Status Notification:
The GET EVENT/STATUS NOTIFICATION Command requests the Logical Unit to
report event(s) and status as specified in the Notification
ClassNotification Class Request field and provides asynchronous
notification. Two modes of operation are defined here. They are
polling and asynchronous modes.
In polling mode, the Host will issue GET EVENT/STATUS NOTIFICATION
Commands at periodic intervals with an immediate (Immed) bit of 1 set.
The Logical Unit shall complete this Command with the most recently
available event status requested. The Logical Unit shall support
polling mode.
In asynchronous mode, the Host will issue a single GET EVENT/STATUS
NOTIFICATION Command with an Immed (immediate) bit of 0 requested. If
the Logical Unit supports Asynchronous event status notification
(through tagged queuing) the model outlined here shall be used. If the
Logical Unit does not support Asynchronous Mode, the Command shall
fail as an illegal request. If the Host requests Asynchronous Mode
using a non-queable or non-overlappable request, the Command shall
fail with CHECK CONDITION Status, 5/24/00 INVALID FIELD IN CDB.
Jens Axboe and I wrote a little test app a year or two ago to check
for whether drives supported asynchronous mode. We found it to be
unsupported on 100% of the drives we tested (and we tested quite a
few)...
-Erik
--
Erik B. Andersen http://codepoet-consulting.com/
--This message was written using 73% post-consumer electrons--
next prev parent reply other threads:[~2002-02-04 7:04 UTC|newest]
Thread overview: 21+ messages / expand[flat|nested] mbox.gz Atom feed top
2002-02-04 4:41 Asynchronous CDROM Events in Userland Calin A. Culianu
2002-02-04 5:07 ` H. Peter Anvin
2002-02-04 5:19 ` Calin A. Culianu
2002-02-04 12:43 ` john slee
2002-02-04 15:23 ` Calin A. Culianu
2002-02-04 16:20 ` H. Peter Anvin
2002-02-04 7:04 ` Erik Andersen [this message]
2002-02-04 7:57 ` Jens Axboe
2002-02-04 9:33 ` Gregor Jasny
2002-02-04 9:39 ` Jens Axboe
2002-02-04 14:05 ` hugang
2002-02-05 7:43 ` Jens Axboe
2002-02-04 12:16 ` Alan Cox
2002-02-04 20:51 ` oops booting 2.4.18-pre7-ac3 Todd M. Roy
2002-02-05 4:04 ` Asynchronous CDROM Events in Userland Stevie O
2002-02-05 4:28 ` H. Peter Anvin
2002-02-05 4:44 ` Calin A. Culianu
2002-02-05 4:47 ` H. Peter Anvin
[not found] ` <a3l4uc@cesium.transmeta.com>
2002-02-06 14:22 ` Pavel Machek
2002-02-06 22:48 ` H. Peter Anvin
-- strict thread matches above, loose matches on Subject: below --
2002-02-05 13:17 David Balazic
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=20020204070414.GA19268@codepoet.org \
--to=andersen@codepoet.org \
--cc=calin@ajvar.org \
--cc=linux-kernel@vger.kernel.org \
/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