From: Brian King <brking@us.ibm.com>
To: dougg@torque.net
Cc: James.Bottomley@steeleye.com, linux-scsi@vger.kernel.org
Subject: Re: [PATCH 1/1] sg: Remove aha1542 hack
Date: Tue, 17 Jan 2006 17:43:52 -0600 [thread overview]
Message-ID: <43CD8138.3000308@us.ibm.com> (raw)
In-Reply-To: <43CD7F1E.8010908@torque.net>
Douglas Gilbert wrote:
> brking@us.ibm.com wrote:
>> Remove a hack in the sg driver that alters the total buffer
>> length for SG_IO commands to ensure buffers are not odd byte
>> lengths. This breaks on the ipr driver since it requires the
>> request_bufflen to equal the length specified in the cdb.
>> The block layer SG_IO code does not appear to have this hack.
>
> Brian,
> Yes, that is ok with me. The aha1542 may not be
> the only adapter sensitive to odd data transfer
> lengths. In the spirit of a pass through we can
> let the user round up to even if it is needed.
>
> The _original_ block layer SG_IO code didn't have
> a "hack" called error processing either :-)
>
> The ipr driver looking inside the cdb to determine
> data transfer length is a dangerous procedure. Does
> the ipr driver support vendor specific commands?
> Even the ubiquitous INQUIRY cdb is tricky since byte 3
> became the upper 8 bits of the allocation length in
> SPC-3 (it was reserved before that). So does the
> driver interpret it as active depending on the age
> of the lu?
Let me clarify... The ipr driver does not do any cdb
cracking to determine data transfer lengths. The virtual
scsi devices that get reported by the ipr adapter firmware
are the devices that are rather strict about allocation
lengths matching buffer lengths. For regular JBOD attached
disks via ipr, even the adapter firmware avoids cracking
cdbs. Its really only an issue for ipr's disk array devices
and the ipr firmware generated logical scsi device used
by userspace to send configuration commands to the ipr adapter.
Brian
>
> Signed-off-by: Douglas Gilbert <dougg@torque.net>
>
>> Signed-off-by: Brian King <brking@us.ibm.com>
>> ---
>>
>> linux-2.6-bjking1/drivers/scsi/sg.c | 2 +-
>> 1 files changed, 1 insertion(+), 1 deletion(-)
>>
>> diff -puN drivers/scsi/sg.c~sg_remove_aha1542_hack drivers/scsi/sg.c
>> --- linux-2.6/drivers/scsi/sg.c~sg_remove_aha1542_hack 2006-01-17 16:50:16.000000000 -0600
>> +++ linux-2.6-bjking1/drivers/scsi/sg.c 2006-01-17 16:50:29.000000000 -0600
>> @@ -2162,7 +2162,7 @@ sg_link_reserve(Sg_fd * sfp, Sg_request
>>
>> srp->res_used = 1;
>> SCSI_LOG_TIMEOUT(4, printk("sg_link_reserve: size=%d\n", size));
>> - rem = size = (size + 1) & (~1); /* round to even for aha1542 */
>> + rem = size;
>>
>> for (k = 0; k < rsv_schp->k_use_sg; ++k, ++sg) {
>> num = sg->length;
>> _
>>
>
>
--
Brian King
eServer Storage I/O
IBM Linux Technology Center
prev parent reply other threads:[~2006-01-17 23:43 UTC|newest]
Thread overview: 3+ messages / expand[flat|nested] mbox.gz Atom feed top
2006-01-17 23:04 [PATCH 1/1] sg: Remove aha1542 hack brking
2006-01-17 23:34 ` Douglas Gilbert
2006-01-17 23:43 ` Brian King [this message]
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=43CD8138.3000308@us.ibm.com \
--to=brking@us.ibm.com \
--cc=James.Bottomley@steeleye.com \
--cc=dougg@torque.net \
--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).