Re: Getting a SPC-3 compliant PR enabled iSCSI target up and running?

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 01/09/2012 02:22 PM, Nicholas A. Bellinger wrote:
> By default sg_persist is using a 8192 byte allocation length, and is
> hitting the following code from
> target_core_transport.c:transport_generic_cmd_sequencer():
> 
>         /* Let's limit control cdbs to a page, for simplicity's sake. */
>         if ((cmd->se_cmd_flags & SCF_SCSI_CONTROL_SG_IO_CDB) &&
>             size > PAGE_SIZE)
>                 goto out_invalid_cdb_field;
> A simple sg_persist work-around is to reduce the allocation length to
> sub PAGE_SIZE like so using '-l 512':
<snip>
> So aside from a work-around here, I'll have to think a bit more about
> how to properly address this in TCM v4.1 code in lio-core.git and
> mainline.  I'm still catching up on a number of items, so this will take
> a few days.

So much for simplicity's sake...

Most commands define a 16 bit allocation length field, so we need to
handle up to 65K. And "4.3.5.6 Allocation length" says nothing about the
target limiting allowed values.

Sorry I broke this (or more precisely, punted instead of finishing the
scatterlist conversion.)

To remove that test, we need all 19 functions that use
transport_kmap_first_data_page() modified to handle multiple pages. I
still think this is better than going back to linear buffers. nab why
don't you let me take this one, hopefully it won't be too bad, and I'll
try to have a patch ready for review by Wednesday.

Regards -- Andy
--
To unsubscribe from this list: send the line "unsubscribe target-devel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Index of Archives]     [Linux SCSI]     [Kernel Newbies]     [Linux SCSI Target Infrastructure]     [Share Photos]     [IDE]     [Security]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux ATA RAID]     [Linux IIO]     [Device Mapper]

  Powered by Linux