From: Douglas Gilbert <dougg@torque.net>
To: James Bottomley <James.Bottomley@SteelEye.com>
Cc: SCSI Mailing List <linux-scsi@vger.kernel.org>
Subject: bidirectional, long commands + OSD
Date: Thu, 29 Jan 2004 23:07:29 +1000 [thread overview]
Message-ID: <40190591.5060409@torque.net> (raw)
In-Reply-To: <1075316397.1739.15.camel@mulgrave>
James Bottomley wrote in thread:
[PATCH] 2.6.2-rc2 - MPT Fusion driver 3.00.02 update
> On Tue, 2004-01-27 at 02:48, Douglas Gilbert wrote:
>
>>So the sg (or SG_IO/SCSI_IOCTL_SEND_COMMAND ioctl) user controls
>>the data direction and they are free to get it wrong:-)
>
>
> Since we do have a mid layer library for this, perhaps we should set it
> in sg if the user leaves it apparently unset.
It is valid for vendor specific commands to have command lengths
other than those dictated by the top 3 bits of the opcode. The
variable length opcode (0x7f) breaks that convention as well.
The pass-through philosophy is (within reason) "you asked for
it ....".
>>** The Object Storage Device (OSD) commands use bidirectional
>>data transfers so perhaps we should think about catering for
>>that.
>
>
> Actually, a much more fundamental problem for OSD is going to be >16
> byte CDBs. The mid and block layers today are coded with an internal 16
> byte array for the CDB. That's not very scaleable to the hundreds of
> bytes that OSD needs.
Just did a check on recent drafts and SPC-3 doesn't have any
commands with lengths > 16 bytes but SBC-2 has:
XDREAD(32)
XDWRITE(32)
XDWRITEREAD(32)
XPWRITE(32)
> As far as bidirectional goes, we should be able to support that today
> providing there's just a *single* data buffer, which the OSD spec
> implies is the easiest way to support this (although I suspect most SCSI
> processor coding won't be expecting to see both a data in and a data out
> from a single command).
... and XDWRITEREAD (both 10 and 32 byte variants) is bidirectional.
> As I see it, OSD seems to require a different interface from the current
> bio layer, so there would be some type of object layer glue between the
> fs and the mid-layer, with the block layer relegated simply to queueing
> specials for the mid-layer, but since no-one's actually come forward
> with an implementation, that's just a guess.
Both Jens and Linus jumped on me when I suggested
similar heresy :-)
For anyone interested, an overview of the proposed Object
Storage Device (OSD) architecture can be found at:
http://www.t10.org/ftp/t10/drafts/osd/osd-r08.pdf
in section 4.2 .
Doug Gilbert
next prev parent reply other threads:[~2004-01-29 13:10 UTC|newest]
Thread overview: 13+ messages / expand[flat|nested] mbox.gz Atom feed top
2004-01-26 17:01 [PATCH] 2.6.2-rc2 - MPT Fusion driver 3.00.02 update Moore, Eric Dean
2004-01-26 17:05 ` James Bottomley
2004-01-26 19:34 ` Christoph Hellwig
2004-01-27 6:18 ` Jeremy Higdon
2004-01-27 8:56 ` Douglas Gilbert
2004-01-28 2:11 ` Jeremy Higdon
2004-01-27 8:48 ` Douglas Gilbert
2004-01-28 20:08 ` James Bottomley
2004-01-29 13:07 ` Douglas Gilbert [this message]
2004-01-29 22:37 ` bidirectional, long commands + OSD Liran Schour
2004-01-30 14:22 ` James Bottomley
[not found] <1075396141.2381.65.camel@mulgrave>
2004-01-30 10:39 ` Liran Schour
2004-01-30 14:25 ` James Bottomley
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=40190591.5060409@torque.net \
--to=dougg@torque.net \
--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