From: James Bottomley <James.Bottomley@steeleye.com>
To: Joerg Schilling <schilling@fokus.gmd.de>
Cc: linux-kernel@vger.kernel.org, James.Bottomley@SteelEye.com
Subject: Re: IDE/ATAPI in 2.5
Date: Mon, 15 Jul 2002 06:09:37 -0500 [thread overview]
Message-ID: <200207151109.g6FB9bK02279@localhost.localdomain> (raw)
James.Bottomley@SteelEye.com said:
> As my textual description has not been read, here comes a acsii art of
> the proposal for a driver structure:
Actually, the diagram is very similar to what we possess internally today.
This represents where I think the SCSI stack is going:
User Level
--------------------------------------------------------------
+----------------+ +---------------------+
| Block Interface| | Character Interface |
+----------------+ +---------------------+
| |
| +--------------------+
| |
+---------------------+
| Block Layer | +----------------------+
| provides queueing | | Device Prep Functions|
| and elevator if | | st, sd, sg, etc. |
| necessary. |-----| Does transport |
| Also provides all | | translation |
| support functions | +----------------------+
| that may be shared | |
| across transports. | +----------------------+
| | | Stackable error |
| |-----| handling (not well |
| | | thought out yet) |
| | +----------------------+
| |
| | +--------------------+
| | | Transport helper |
| | | Contains all fns |
| | | not shareable by |
| | | other transports |
+---------------------+ +--------------------+
| |
| |
+-------------------------+
| Card driver (deals with |
| attached transport |
| translation |
+-------------------------+
As you can see, I plan to leverage the generic block layer to build the
transport stack. The upper layer drivers become mere request_prep_fns whose
job is to translate the request to a transport specific command.
The struct request will go all the way down to the card driver, but the card
driver may choose to deal only with the transport translation if it wants.
The driving vision for this is to move into the generic block layer as much of
the individual transport stack as makes sense (i.e. if other transports can
make use of the functions), so, for example, Tag command queueing is already
in there and shared between IDE and SCSI.
The ultimate end point will be when the correct balance between what belongs
in the generic block layer and what belongs in the transport helpers is
achieved. I speculate that, for CDROMS, this will lead to two small request
prep modules sharing quite a large helper library (The helper library would do
SCSI command translation, and probably the IDE prep module would fix up the
transport command for the specific device). However, I don't rule out that it
would lead to a single prep module for both IDE and SCSI.
The device naming issues are totally separate from the above. I intend that
driverfs will cope with them. Internally, the block layer just thinks of the
stack as a series of entry points for physical devices. Driverfs gives the
card driver freedom to provide a hierarchical ascii device name as it sees
fit. Hopefully this will finesse the so called persistent binding issues that
plague solaris.
Ultimately, this means that host and channel is subsumed into the card
identification scheme, target ID may no longer be a number and even LUN may
end up being a LUN hierarchy representation. As we do this, we'll move to
exposing persistent names, so the user shouldn't necessarily care about this.
James Bottomley
next reply other threads:[~2002-07-15 16:06 UTC|newest]
Thread overview: 204+ messages / expand[flat|nested] mbox.gz Atom feed top
2002-07-15 11:09 James Bottomley [this message]
-- strict thread matches above, loose matches on Subject: below --
2002-07-17 14:58 Joerg Schilling
2002-07-17 13:46 Joerg Schilling
2002-07-17 14:00 ` Alexander Viro
2002-07-17 12:32 Joerg Schilling
2002-07-17 13:36 ` Rik van Riel
2002-07-17 13:54 ` Anton Altaparmakov
2002-07-16 17:49 Joerg Schilling
2002-07-16 17:34 Joerg Schilling
2002-07-16 14:30 Richard Zidlicky
2002-07-16 14:06 Joerg Schilling
2002-07-16 14:15 ` Christoph Hellwig
2002-07-16 14:17 ` Lars Marowsky-Bree
2002-07-16 14:02 Joerg Schilling
2002-07-16 12:49 Joerg Schilling
2002-07-16 14:28 ` Jauder Ho
2002-07-16 16:08 ` Buddy Lumpkin
2002-07-16 11:28 Joerg Schilling
2002-07-16 9:33 ` James Bottomley
2002-07-16 11:43 ` Martin Dalecki
2002-07-16 11:47 ` Lars Marowsky-Bree
2002-07-16 11:59 ` Vojtech Pavlik
2002-07-16 11:02 Joerg Schilling
2002-07-16 10:47 Joerg Schilling
2002-07-15 18:27 Nick Bellinger
2002-07-15 20:12 ` Jauder Ho
2002-07-16 7:49 ` Buddy Lumpkin
2002-07-15 15:08 Joerg Schilling
2002-07-15 13:26 Joerg Schilling
2002-07-16 3:16 ` Christer Weinigel
2002-07-15 13:07 Joerg Schilling
2002-07-16 10:16 ` Richard Zidlicky
2002-07-15 12:58 Joerg Schilling
2002-07-15 12:27 Joerg Schilling
2002-07-15 11:27 Joerg Schilling
2002-07-15 14:52 ` Rik van Riel
2002-07-15 9:20 Joerg Schilling
2002-07-15 11:23 ` Buddy Lumpkin
2002-07-15 12:22 ` Benjamin Herrenschmidt
2002-07-15 13:17 ` venom
2002-07-14 20:18 Joerg Schilling
2002-07-14 20:13 Joerg Schilling
2002-07-14 20:18 ` Rik van Riel
2002-07-15 9:11 ` venom
2002-07-15 10:01 ` Richard Zidlicky
2002-07-14 20:04 Joerg Schilling
2002-07-14 20:15 ` Tomas Szepe
2002-07-14 20:21 ` Mathieu Chouquet-Stringer
2002-07-14 20:27 ` Mathieu Chouquet-Stringer
[not found] ` <Pine.LNX.4.33.0207141704280.21492-100000@coffee.psychology.mcmaster.ca>
2002-07-14 21:09 ` Mathieu Chouquet-Stringer
2002-07-14 21:46 ` Alan Cox
2002-07-14 20:43 ` Mathieu Chouquet-Stringer
2002-07-14 21:59 ` Alan Cox
2002-07-14 20:54 ` Sean Neakums
2002-07-14 21:09 ` Mark Hahn
2002-07-14 22:20 ` Tomas Szepe
2002-07-14 21:07 ` Mathieu Chouquet-Stringer
2002-07-14 22:07 ` Mathieu Chouquet-Stringer
2002-07-14 22:14 ` Thunder from the hill
2002-07-15 3:34 ` Mathieu Chouquet-Stringer
2002-07-15 3:38 ` Thunder from the hill
2002-07-15 3:44 ` Mathieu Chouquet-Stringer
2002-07-15 4:36 ` Alexander Viro
2002-07-14 20:45 ` Mathieu Chouquet-Stringer
2002-07-14 20:49 ` Daniel Egger
2002-07-14 19:41 Joerg Schilling
2002-07-14 19:51 ` Tomas Szepe
2002-07-14 19:20 Joerg Schilling
2002-07-14 19:18 Joerg Schilling
2002-07-14 19:27 ` Thunder from the hill
2002-07-14 19:10 Joerg Schilling
2002-07-14 18:22 Joerg Schilling
2002-07-14 18:11 Joerg Schilling
2002-07-14 18:40 ` Tomas Szepe
2002-07-14 19:06 ` Tomas Szepe
2002-07-14 19:15 ` Sean Neakums
2002-07-14 19:42 ` Tomas Szepe
2002-07-14 19:02 ` Willy TARREAU
2002-07-14 23:58 ` Andrew Morton
[not found] ` <Pine.LNX.4.33.0207150831080.29242-100000@pc-3.office.scali.no>
2002-07-15 6:54 ` Andrew Morton
2002-07-14 15:15 Joerg Schilling
2002-07-14 15:27 ` Rik van Riel
2002-07-14 15:12 Joerg Schilling
2002-07-14 16:45 ` Alan Cox
[not found] <mailman.1026651901.18426.linux-kernel2news@redhat.com>
2002-07-14 15:05 ` Pete Zaitcev
2002-07-14 14:28 Joerg Schilling
2002-07-14 14:45 ` Anton Altaparmakov
2002-07-14 14:52 ` Thunder from the hill
2002-07-14 14:46 ` Thunder from the hill
2002-07-14 14:25 Joerg Schilling
2002-07-14 14:20 Joerg Schilling
2002-07-14 15:56 ` Erik Andersen
2002-07-14 14:18 Joerg Schilling
2002-07-14 14:35 ` Tomas Szepe
2002-07-14 15:00 ` Rik van Riel
2002-07-14 19:13 ` Richard Zidlicky
2002-07-14 14:07 Joerg Schilling
2002-07-14 15:28 ` Alan Cox
2002-07-18 18:51 ` Kelsey Hudson
2002-07-14 14:00 Joerg Schilling
2002-07-15 0:29 ` Richard B. Johnson
2002-07-14 13:55 Joerg Schilling
2002-07-14 13:47 Joerg Schilling
2002-07-14 14:31 ` Thunder from the hill
2002-07-14 21:23 ` Andre Hedrick
2002-07-14 13:26 Joerg Schilling
2002-07-14 14:28 ` Thunder from the hill
2002-07-14 13:24 Joerg Schilling
2002-07-14 13:39 ` Anton Altaparmakov
2002-07-14 14:10 ` Thunder from the hill
2002-07-14 14:35 ` Adrian Bunk
2002-07-14 16:52 ` Kurt Garloff
2002-07-14 13:17 Joerg Schilling
2002-07-14 14:03 ` Thunder from the hill
2002-07-14 14:44 ` Alan Cox
2002-07-14 13:08 Joerg Schilling
2002-07-14 13:59 ` Thunder from the hill
2002-07-14 13:02 Joerg Schilling
2002-07-14 12:50 Joerg Schilling
2002-07-14 12:44 Joerg Schilling
2002-07-14 12:38 Joerg Schilling
2002-07-14 12:32 Joerg Schilling
2002-07-14 16:01 ` Erik Andersen
2002-07-14 6:20 Adam J. Richter
2002-07-14 15:22 ` Bartlomiej Zolnierkiewicz
2002-07-13 23:27 Adam J. Richter
2002-07-13 23:47 ` Bartlomiej Zolnierkiewicz
2002-07-13 14:46 Adam J. Richter
2002-07-13 15:38 ` Bartlomiej Zolnierkiewicz
2002-07-12 20:08 Joerg Schilling
2002-07-12 21:31 ` Alan Cox
2002-07-12 19:57 Joerg Schilling
2002-07-12 21:17 ` Alan Cox
2002-07-13 5:49 ` Erik Andersen
2002-07-12 19:55 Joerg Schilling
2002-07-12 20:19 ` Richard B. Johnson
2002-07-13 5:40 ` Erik Andersen
2002-07-13 10:52 ` Anssi Saari
2002-07-14 0:35 ` Erik Andersen
2002-07-13 16:53 ` Olivier Galibert
2002-07-14 0:34 ` Erik Andersen
2002-07-16 5:46 ` H. Peter Anvin
2002-07-12 19:49 Joerg Schilling
2002-07-12 19:58 ` Thunder from the hill
2002-07-12 20:38 ` Thunder from the hill
2002-07-12 21:05 ` Alan Cox
2002-07-12 19:37 Joerg Schilling
2002-07-12 19:52 ` Thunder from the hill
2002-07-13 6:36 ` jbradford
2002-07-13 14:25 ` Alan Cox
2002-07-13 13:55 ` Thomas Molina
2002-07-13 15:31 ` Alan Cox
2002-07-13 14:31 ` Thomas Molina
2002-07-13 14:07 ` jbradford
2002-07-13 15:32 ` Alan Cox
2002-07-13 14:36 ` jbradford
2002-07-15 11:47 ` Henning P. Schmiedehausen
2002-07-15 18:44 ` Thunder from the hill
2002-07-12 20:06 ` Andre Hedrick
2002-07-12 20:52 ` Alan Cox
2002-07-12 19:25 Joerg Schilling
2002-07-12 0:27 H. Peter Anvin
2002-07-12 0:37 ` Bartlomiej Zolnierkiewicz
2002-07-12 1:00 ` Alan Cox
2002-07-12 1:23 ` Andre Hedrick
2002-07-12 5:03 ` H. Peter Anvin
2002-07-12 4:13 ` Erik Andersen
2002-07-12 4:17 ` H. Peter Anvin
2002-07-12 4:44 ` Erik Andersen
2002-07-12 4:46 ` H. Peter Anvin
2002-07-12 5:03 ` Andre Hedrick
2002-07-12 5:11 ` H. Peter Anvin
2002-07-12 13:15 ` Alan Cox
2002-07-15 10:24 ` Eric W. Biederman
2002-07-16 5:28 ` H. Peter Anvin
2002-07-12 12:11 ` Martin Dalecki
2002-07-12 12:51 ` Thunder from the hill
2002-07-12 14:17 ` Bartlomiej Zolnierkiewicz
2002-07-12 14:29 ` Martin Dalecki
2002-07-12 14:41 ` Jens Axboe
2002-07-12 15:00 ` Martin Dalecki
2002-07-12 15:05 ` Jens Axboe
2002-07-12 15:41 ` Andre Hedrick
2002-07-12 15:35 ` Alan Cox
2002-07-14 8:19 ` Paul Bristow
2002-07-14 9:11 ` jbradford
2002-07-14 9:16 ` Matthew D. Pitts
2002-07-14 14:04 ` Martin Dalecki
2002-07-14 16:56 ` Thunder from the hill
2002-07-12 15:26 ` Andre Hedrick
2002-07-12 13:22 ` Alan Cox
2002-07-12 13:07 ` Tomas Szepe
2002-07-12 14:06 ` Alan Cox
2002-07-12 15:34 ` Andre Hedrick
2002-07-12 17:52 ` Linus Torvalds
2002-07-12 18:33 ` H. Peter Anvin
2002-07-12 18:54 ` Anton Altaparmakov
2002-07-12 18:55 ` H. Peter Anvin
2002-07-12 19:35 ` Zwane Mwaikambo
2002-07-12 19:06 ` Bartlomiej Zolnierkiewicz
2002-07-12 23:17 ` Matthias Andree
2002-07-12 15:02 ` Kevin P. Fleming
2002-07-12 15:10 ` Martin Dalecki
2002-07-12 16:47 ` Andre Hedrick
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=200207151109.g6FB9bK02279@localhost.localdomain \
--to=james.bottomley@steeleye.com \
--cc=linux-kernel@vger.kernel.org \
--cc=schilling@fokus.gmd.de \
/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®