public inbox for linux-scsi@vger.kernel.org
 help / color / mirror / Atom feed
From: Jeff Garzik <jgarzik@pobox.com>
To: James Bottomley <James.Bottomley@steeleye.com>
Cc: SCSI Mailing List <linux-scsi@vger.kernel.org>
Subject: Re: SCSI in a post 2.6.0 world
Date: Thu, 18 Dec 2003 10:57:28 -0500	[thread overview]
Message-ID: <20031218155728.GA8663@gtf.org> (raw)
In-Reply-To: <1071762015.2378.44.camel@mulgrave>

On Thu, Dec 18, 2003 at 10:40:14AM -0500, James Bottomley wrote:
> On Thu, 2003-12-18 at 10:31, Jeff Garzik wrote:
> > FWIW, I'm going to be working in this area, for 2.7.
> > 
> > My plan has two main goals,
> > 
> > (a) move the low-level driver API "up" from SCSI, to be available to all
> > block drivers.
> 
> I agree with this, with caveats: the LLD API for SCSI is designed to be
> a command based API, not a register based one.  I see no reason not to
> have either a second LLD API that is register based, or a command to
> register converter API (sort of like how ide-scsi should have been
> done), but I think more discussion on how to do this needs to take
> place.

No need for caveats.  There will be no register-based LLD API.

Command-based is fine.  SATA _needs_ command-based, because ATA these
days is queued.

Recall, some crazy cracker created ATA-over-ethernet <grin>


> > (b) consolidate "personality" code:  foodisk.c will drive
> > PATA/SATA/SCSI/RAID/whatever disks.  foocdrom.c will drive cd-roms.
> > footape.c will drive tapes.
> 
> In principle this is fine...both SCSI and IDE today use request prep
> functions.  It's not such a huge step to do the personality processing
> in the prep function (a bit like ide-cd does).

You got it.


> > The overall goal is to have all low-level block drivers at the same
> > level, simply utilizing subsystem-specific hooks to provide
> > SCSI-specific behavior.
> > 
> > And all this will be accomplished through evolution of existing code.
> > You have convinced me that SCSI doesn't need yet another rewrite ;-) so
> > I will be leveraging all the work that's gone into SCSI in 2.6...
> > 
> > Whenever you hear me mention "/dev/disk", the above is what I am
> > referring to.
> 
> Well, I'm agnostic on that one.  Having major number discrimination
> among ULDs does help figure out command routings, but if it can be done
> another way...At the end of the day, udev will completely separate
> numbering from naming, so /dev/disc<n> is feasible even in the current
> scheme.

Indeed.


> As part of this project, were you planning to look at how character
> devices can be improved?

Absolutely.  /dev/tape is part of this too.  And I'm hoping SCSI
generic will go away in favor of Jens' "bsg", which allows userspace
to send SCSI CDBs, ATA taskfiles, RAID I2O messages, or whatever.

	Jeff




  reply	other threads:[~2003-12-18 15:57 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2003-12-18 14:48 SCSI in a post 2.6.0 world James Bottomley
2003-12-18 15:31 ` Jeff Garzik
2003-12-18 15:40   ` James Bottomley
2003-12-18 15:57     ` Jeff Garzik [this message]
2003-12-18 21:22       ` Andre Hedrick
2003-12-19  3:52         ` Jeff Garzik

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=20031218155728.GA8663@gtf.org \
    --to=jgarzik@pobox.com \
    --cc=James.Bottomley@steeleye.com \
    --cc=linux-scsi@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