From: Boaz Harrosh <bharrosh@panasas.com>
To: James Bottomley <James.Bottomley@hansenpartnership.com>,
Jens Axboe <jens.axboe@oracle.com>,
Christoph Hellwig <hch@infradead.org>,
Andrew Morton <akpm@linux-foundation.org>
Cc: linux-scsi@vger.kernel.org
Subject: [PATCHSET 0/3] Is it time for varlen extended and vendor-specific cdbs
Date: Tue, 25 Mar 2008 17:57:57 +0200 [thread overview]
Message-ID: <47E92105.2060703@panasas.com> (raw)
In-Reply-To: <47AF1321.7000107@panasas.com>
Submitted is a patchset for adding support for variable-length, extended,
and vendor specific CDBs. It should now cover the entire range of the
SCSI standard. (and/or any other use of command packets in block devices)
They are based on scsi-misc/scsi-rc-fixes/linux-block. They are aimed
for the 2.6.26 merge window. Andrew please also include them in -mm
for testing.
Difference from last time, is at struct request. I did a smallish
hack to save the extra pointer space. The pointer now shares it's
space with the request->cmd, as they are mutual exclusive. The
flag to switch between them is when cmd_len == 0 and varlen_cdb_len != 0
I've added 2 accessors to hide the mess. I think this approach
should be safe with legacy drivers.
This is on top of the size shrink to struct scsi_cmnd gained
in the first patch. We save upto 12 bytes on 32 bit ARCHs
So over all, this cleans things up, and add fixtures without
*any extra cost*.
[1/3] Let scsi_cmnd->cmnd use request->cmd buffer
Here I let scsi_cmnd->cmnd point to the space allocated by
request->cmd, instead of copying the data. The scsi_cmnd->cmd_len
is guaranteed to contain the right length of the command.
I have tried to go over every single place in the kernel that uses
scsi_cmnd->cmnd and make sure it looks sane. Surprisingly to me,
that was not at all bad. I hope I did not miss anything.
I've tested on an x86_64 machine booting from a sata disk and
ran the iscsi regression tests as well as my bidi and varlen tests
on top of the complete patchset and all tests passed.
[2/3] block layer varlen-cd
Here I added an option to use a user supplied buffer for an arbitrary
large command. Buffer must be kept valid until execution of request
ends. The pointer to the buffer shares it's space with the fixed
length command, so the size of struct request does not change.
[3/3] scsi: varlen extended and vendor-specific cdbs
Adds support for variable length, extended, and vendor-specific
cdbs at the scsi mid-layer.
Boaz
next prev parent reply other threads:[~2008-03-25 15:59 UTC|newest]
Thread overview: 18+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <20080209193224.GA21448@Chamillionaire.breakpoint.cc>
[not found] ` <200802100006.11086.bzolnier@gmail.com>
[not found] ` <20080210052621.GA22257@infradead.org>
[not found] ` <200802101438.46698.bzolnier@gmail.com>
2008-02-10 14:43 ` Current git --> kaboom [bisect] seems IDE related Christoph Hellwig
2008-02-10 15:07 ` Boaz Harrosh
2008-02-10 18:59 ` [PATCHSET 0/3] varlen extended and vendor-specific cdbs Boaz Harrosh
2008-02-10 19:05 ` Subject: [PATCH 1/3] Let scsi_cmnd->cmnd use request->cmd buffer Boaz Harrosh
2008-02-12 17:45 ` Christoph Hellwig
2008-02-12 18:10 ` Boaz Harrosh
2008-02-12 19:41 ` James Bottomley
2008-02-13 9:24 ` Boaz Harrosh
2008-02-10 19:09 ` [PATCH 2/3] block layer varlen-cdb Boaz Harrosh
2008-02-12 17:48 ` Christoph Hellwig
2008-02-12 17:54 ` Boaz Harrosh
2008-02-12 18:07 ` Boaz Harrosh
2008-02-10 19:12 ` [PATCH 3/3] scsi: varlen extended and vendor-specific cdbs Boaz Harrosh
2008-02-12 17:51 ` Christoph Hellwig
2008-02-12 18:17 ` Boaz Harrosh
2008-03-25 15:57 ` Boaz Harrosh [this message]
2008-03-25 16:21 [PATCHSET 0/3] Is it time for " Boaz Harrosh
2008-04-03 16:07 ` Boaz Harrosh
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=47E92105.2060703@panasas.com \
--to=bharrosh@panasas.com \
--cc=James.Bottomley@hansenpartnership.com \
--cc=akpm@linux-foundation.org \
--cc=hch@infradead.org \
--cc=jens.axboe@oracle.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;
as well as URLs for NNTP newsgroup(s).