[stgt] bs_rdwr_request

Roi Dayan roi.dayan at gmail.com
Sun Aug 26 14:58:02 CEST 2012


On Sun, Aug 26, 2012 at 3:32 PM, Roi Dayan <roi.dayan at gmail.com> wrote:
> On Fri, Aug 24, 2012 at 1:06 PM, <frederik.vos at linvirt.nl> wrote:
>>
>> I tested also version 1.0.28: no problem
>> version 1.0.29: no problem
>> version 1.0.30: there is the problem
>>
>>
>
>
>
> Hi,
>
> I tested as well with ESXi 5.1 and I could not login with ESXi as initiator
> The error from tgtd was as follows:
>
> tgtd: add_mode_page(1648) Mode Page 10 (0x01): param_count 6 != MODE
> PAGE size : 31
>
>
> I checked for commits between 1.0.29 - 1.0.30 that modify or call this
> function and found
> that commit 9a95b4431ccc01b82cb4febc735485cd06cd5ea4 added a new call
> to add_mode_page()
> and the error is the result of that new call:
>
> 518     +  /* Control Extensions mode page:  TCMOS:1 */
> 519     +  add_mode_page(lu, "0x0a:1:0x1c:0x04:0x00:0x00");
>
>
> After removing this call ESXi logged in fine and without any problems.
>
> frederik,
> mind trying it as well?
>


Or instead of ignoring that call you could update add_mode_page() to accept it
even though the passed size is larger than the data supplied,
i tested and it works fine.


diff --git a/usr/spc.c b/usr/spc.c
index 10d799e..c6d0e55 100644
--- a/usr/spc.c
+++ b/usr/spc.c
@@ -1642,7 +1642,7 @@ tgtadm_err add_mode_page(struct scsi_lu *lu, char *p)
                        p++;
        }

-       if (i != size + 3) {
+       if (i > size + 3) {
                adm_err = TGTADM_INVALID_REQUEST;
                eprintf("Mode Page %d (0x%02x): param_count %d != "
                        "MODE PAGE size : %d\n", pcode, subpcode, i, size + 3);



> Thanks,
> Roi
>
>
>
>> Quoting frederik.vos at linvirt.nl:
>>
>>> version 1.0.27
>>> (as found in de home:aevseev repository on the opensuse build service):
>>> no problem at all
>>>
>>>
>>> Quoting frederik.vos at linvirt.nl:
>>>
>>>> tested with opensuse 12.1:
>>>> same problem here, so it's not ubuntu related
>>>>
>>>> tested on hardware instead of vm:
>>>> same problem
>>>>
>>>> Quoting frederik.vos at linvirt.nl:
>>>>
>>>>> btw: tgt 1.0.17 (in ubuntu repository) doesn't have this problem
>>>>>
>>>>> Quoting frederik.vos at linvirt.nl:
>>>>>
>>>>>> Hi all,
>>>>>>
>>>>>> My setup: a virtual machine with:
>>>>>> - Ubuntu 12.04
>>>>>> - TGTD 1.0.30
>>>>>>
>>>>>> As initiator:
>>>>>> - ESX 5.0 build 623860
>>>>>>
>>>>>> targets.conf:
>>>>>>
>>>>>> <target iqn.2004-01.nl.xtg:iscsi-server1>
>>>>>> direct-store /dev/sdb
>>>>>> write-cache on
>>>>>> initiator-address ALL
>>>>>> incominguser gebruiker wachtwoord
>>>>>> scsi_id 00010001
>>>>>> vendor_id XTG
>>>>>> lun 12
>>>>>> </target>
>>>>>>
>>>>>> MaxRecvDataSegmentLength 131072
>>>>>> MaxXmitDataSegmentLength 131072
>>>>>> MaxBurstLength 262144
>>>>>> FirstBurstLength 262144
>>>>>> TargetRecvDataSegmentLength=262144
>>>>>> InitiatorRecvDataSegmentLength=262144
>>>>>> MaxOutstandingUnexpectedPDUs=0
>>>>>> MaxOutstandingR2T=1
>>>>>> MaxCommands=128
>>>>>>
>>>>>> DataPDUInOrder=Yes
>>>>>> DataSequenceInOrder=Yes
>>>>>>
>>>>>> HeaderDigest=None
>>>>>> DataDigest=None
>>>>>> InitialR2T=No
>>>>>> ImmediateData=Yes
>>>>>> DelayedAck=Yes
>>>>>>
>>>>>> ErrorRecoveryLevel=0
>>>>>> IFMarker=No
>>>>>> OFMarker=No
>>>>>> DefaultTime2Wait=2
>>>>>> DefaultTime2Retain=0
>>>>>> OFMarkInt=Reject
>>>>>> IFMarkInt=Reject
>>>>>> MaxConnections=4
>>>>>> RDMAExtensions=No
>>>>>>
>>>>>> After successfully adding this lun 12 to the datastore, i am not able to use it, a lot of errors:
>>>>>> with lsi logic controller:
>>>>>> tgtd: bs_rdwr_request(336) io error 0x1003070 89 1024 1024 22544384, Success
>>>>>> with paravirtual controller:
>>>>>> tgtd: bs_rdwr_request(336) io error 0x1a26070 89 1024 1024 22544384, Success
>>>>>>
>>>>>> I don't have a clue, who can help ?
>>>>>>
>>>>>> --
>>>>>> To unsubscribe from this list: send the line "unsubscribe stgt" in
>>>>>> the body of a message to majordomo at vger.kernel.org
>>>>>> More majordomo info at  http://vger.kernel.org/majordomo-info.html
>>>>>
>>>>>
>>>>>
>>>>>
>>>>> --
>>>>> To unsubscribe from this list: send the line "unsubscribe stgt" in
>>>>> the body of a message to majordomo at vger.kernel.org
>>>>> More majordomo info at  http://vger.kernel.org/majordomo-info.html
>>>>
>>>>
>>>>
>>>>
>>>> --
>>>> To unsubscribe from this list: send the line "unsubscribe stgt" in
>>>> the body of a message to majordomo at vger.kernel.org
>>>> More majordomo info at  http://vger.kernel.org/majordomo-info.html
>>>
>>>
>>>
>>>
>>> --
>>> To unsubscribe from this list: send the line "unsubscribe stgt" in
>>> the body of a message to majordomo at vger.kernel.org
>>> More majordomo info at  http://vger.kernel.org/majordomo-info.html
>>
>>
>>
>>
>> --
>> To unsubscribe from this list: send the line "unsubscribe stgt" in
>> the body of a message to majordomo at vger.kernel.org
>> More majordomo info at  http://vger.kernel.org/majordomo-info.html
--
To unsubscribe from this list: send the line "unsubscribe stgt" in
the body of a message to majordomo at vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html



More information about the stgt mailing list