All of lore.kernel.org
 help / color / mirror / Atom feed
From: James Bottomley <James.Bottomley@SteelEye.com>
To: Douglas Gilbert <dougg@torque.net>
Cc: Mike Christie <michaelc@cs.wisc.edu>,
	device-mapper development <dm-devel@redhat.com>,
	linux-scsi <linux-scsi@vger.kernel.org>,
	Jens Axboe <axboe@suse.de>,
	LIRANS@il.ibm.com
Subject: Re: [PATCH RFC 0/4] use scatter lists for all block pc	requests	and simplify hw handlers
Date: Tue, 07 Jun 2005 10:59:26 -0500	[thread overview]
Message-ID: <1118159966.4813.8.camel@mulgrave> (raw)
In-Reply-To: <42A59C35.5060207@torque.net>

On Tue, 2005-06-07 at 23:08 +1000, Douglas Gilbert wrote:
> I don't think it is important and I'm not aware of any
> real world applications that are using it. Naturally,
> I will find out if that is actually true after it
> gets removed.

Heh, true.  OK, let's do this: I'll remove it from the sg driver and
make sg use the do_command (or it's successor) interface.  If an actual
user for the iovecs does turn up, I'll add it to the block layer (it's a
fairly well understood multi-bio request setup) and make sg and also the
block layer SG_IO use it.

> I believe that I am guilty for SCSI_SENSE_BUFFERSIZE.
> But implementation details shouldn't necessarily limit
> new interface functions. Again OSD could be a problem
> here as it uses descriptor sense format with larger
> descriptors (than SPC-3). Perhaps Liran might comment
> on whether the current 96 bytes is sufficient. [According
> to SPC-3 there is still a limit of 252 bytes.]
> 
> Also scsi_do_command() could drop the direction
> argument and have an "in" pair (pointer and length)
> and an "out" pair. Then it could cope with OSD and
> advanced SBC-2 commands.

The basic trouble is that to use variable length sense buffer sizes we
need to modify the way block layer requests code sense data.  This
should be doable ... I'll look into it.

> Depending on the driver which controls the device node
> that has been opened, there are various policy decisions
> to maneouver (e.g. sr and st require O_NONBLOCK on
> open() otherwise they will wait until media is loaded,
> making the SCSI Test Unit Ready command pointless). Also
> there are state machines in some drivers, that
> can either be confused by the pass through or
> vice versa (e.g. try using the sg_prevent utility in
> sg3_utils via a sr device node, then
> try again with a sg device node). Should maximum
> transfer size limits that apply to the READ/WRITE
> SBC commands also apply to READ/WRITE_BUFFER SPC
> commands?

Well, but the former are only semantic ... and they can be fixed.  I'm
not aware that we do actually impose limits on READ/WRITE (at least not
when we receive them as packet commands).

> The SAS SMP protocol is for discovering what is out
> there. In the extreme case no block device has been found.
> There is just a SAS HBA on a PCI bus with sysfs information
> telling us about some phys and what they are attached
> to. If the attached device type is an expander that
> implements a SMP target then we need to issue SMP
> frames (commands) through a local phy to the SAS address
> of the expander. I'm not sure we need scatter-gather,
> command merging, tagged queues or pseudo block devices
> to accomplish this.

Yes, but this type of discovery is probably going to be the province of
the SAS class.  It will export an API (similar to the current SCSI sysfs
scanning one) that would allow the user to manipulate discovery.

The question is not whether such a process would make use of all the
features the block layer places at its disposal, but whether it's
capable of being done by the existing block layer infrastructure.  If
the latter is true, there's no need to invent new methods.

James



  parent reply	other threads:[~2005-06-07 17:57 UTC|newest]

Thread overview: 41+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2005-06-04  1:19 [PATCH RFC 0/4] use scatter lists for all block pc requests and simplify hw handlers Mike Christie
2005-06-04 16:07 ` James Bottomley
2005-06-05  7:15   ` Mike Christie
2005-06-05  9:41     ` [dm-devel] " christophe varoqui
2005-06-06 13:31       ` Lars Marowsky-Bree
2005-06-07  0:04         ` Michael Christie
2005-06-07  7:01           ` [dm-devel] " Lars Marowsky-Bree
2005-06-05 14:40     ` James Bottomley
2005-06-05 19:11       ` James Bottomley
2005-06-06  5:43         ` Douglas Gilbert
2005-06-06 14:19           ` James Bottomley
2005-06-07 13:08             ` Douglas Gilbert
2005-06-07 13:34               ` Tony Battersby
2005-06-07 16:34                 ` James Bottomley
2005-06-07 18:38                   ` [PATCH RFC 0/4] use scatter lists for all blockpc " Tony Battersby
2005-06-07 18:43                     ` Jens Axboe
2005-06-07 15:59               ` James Bottomley [this message]
2005-06-07 18:07                 ` [PATCH RFC 0/4] use scatter lists for all block pc " Jens Axboe
2005-06-07 19:26                   ` James Bottomley
2005-06-08  7:09                     ` Jens Axboe
2005-06-06 19:02     ` Patrick Mansfield
2005-06-07 15:26       ` Michael Christie
2005-06-07 18:23         ` Patrick Mansfield
2005-06-08 15:41           ` Mike Christie
2005-06-09  0:08             ` Patrick Mansfield
2005-06-09  6:18               ` Jens Axboe
2005-06-09 11:51                 ` James Bottomley
2005-06-09 11:54                   ` Jens Axboe
2005-06-07 12:10   ` Christoph Hellwig
2005-06-07 12:20     ` James Bottomley
2005-06-07 15:36       ` Michael Christie
2005-06-07 15:45         ` [dm-devel] " Michael Christie
2005-06-07 16:26           ` Kai Makisara
2005-06-07 19:23             ` James Bottomley
2005-06-07 18:09         ` Jens Axboe
2005-06-08 12:46           ` Mike Christie
2005-06-07 18:07 ` Jens Axboe
2005-06-07 19:38   ` James Bottomley
2005-06-08  3:00     ` Douglas Gilbert
2005-06-08 12:59       ` James Bottomley
2005-06-08 14:50         ` Luben Tuikov

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=1118159966.4813.8.camel@mulgrave \
    --to=james.bottomley@steeleye.com \
    --cc=LIRANS@il.ibm.com \
    --cc=axboe@suse.de \
    --cc=dm-devel@redhat.com \
    --cc=dougg@torque.net \
    --cc=linux-scsi@vger.kernel.org \
    --cc=michaelc@cs.wisc.edu \
    /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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.