Re: ErrorRecoveryLevel > 0 On LIO Target

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

 



On Wed, 2013-11-20 at 17:18 +0530, Arshad Hussain wrote:
> On 11/20/2013 4:30 AM, Nicholas A. Bellinger wrote:
> Thank you . However few doubt remains...
> > On Tue, 2013-11-19 at 17:00 +0530, Arshad Hussain wrote:

<SNIP>

> >
> > The ErrorRecoveryLevel parameter needs to be explicitly set on a per
> > TargetName+TargetPortalGroupTag basis in order to allow an initiator to
> > negotiate ErrorRecoveryLevel > 0.
> >
> > This is set from within targetcli /iscsi/$IQN/$TPGT/ context, using:
> >    
> >        set parameter ErrorRecoveryLevel=2
> 
> Done this and retried login. Target still refuses to ERL>0.
> 
> /iscsi/iqn.20...a7cd9852/tpg1> set parameter ErrorRecoveryLevel=2
> Parameter ErrorRecoveryLevel is now '2'.
> 
> /iscsi/iqn.20...a7cd9852/tpg1> pwd
> /iscsi/iqn.2003-01.org.linux-iscsi.localhost.x8664:sn.5c3da7cd9852/tpg1
> /iscsi/iqn.20...a7cd9852/tpg1>
> 
> did a saveconfig & exit , thereafter ...
> 
> /iscsi/iqn.20...a7cd9852/tpg1> get parameter ErrorRecoveryLevel
> ErrorRecoveryLevel=2
> /iscsi/iqn.20...a7cd9852/tpg1>

This part looks fine.

> 
> This is the login (send)
> 
> InitiatorName=iqn.1994-05.com.redhat:185e80916d5c
> TargetName=iqn.2003-01.org.linux-iscsi.localhost.x8664:sn.5c3da7cd9852
> SessionType=Normal
> HeaderDigest=None
> DataDigest=None
> ImmediateData=Yes
> ErrorRecoveryLevel=2 <------ (i am negotiating ERL = 2) + set parameters 
> within targetcli for ERL=2.
> (please note , I also tried just setting targetcli parameter erl=2 and 
> not passing erl=2 at login phase)
> MaxOutstandingR2T=1
> DataSequenceInOrder=Yes
> InitialR2T=No
> DataPDUInOrder=Yes
> DefaultTime2Retain=20
> MaxBurstLength=262144
> MaxRecvDataSegmentLength=512
> DefaultTime2Wait=2
> 
> Login  (Response)
> 
> HeaderDigest=None
> DataDigest=None
> MaxConnections=1
> TargetAlias=LIO
> TargetTargetPortalGroupTag=1
> InitialR2T=Yes
> ImmediateData=Yes
> MaxRecvDataSegmentLength=262144
> MaxBurstLength=262144
> FirstBurstLength=65536
> DefaultTime2Wait=2
> DefaultTime2Retain=20
> MaxOutstandingR2T=1
> ErrorRecoveryLevel=0 <------------- Target response back as 0.
> 
> The the doubt I have is the login responds as ERL=0, and on the other 
> hand the
> targetcli is set with ERL=2.  Which will take precedence? I can see that 
> the ERL=0,
> for the mesg i get. Even after setting ERL=2 in targetcli the ERL is 
> clearly at 0.
> Am I missing something? What else is required for LIO to move to ERL>0.
> 

Actually, one other NodeACL specific parameter needs to be set:

/iscsi/iqn.20...db85ecb/tpgt1> cd acls/iqn.2003-01.org.linux-iscsi.haakon3.x86:sn.d132cfa03259/
/iscsi/iqn.20....d132cfa03259> set attribute default_erl=2
Parameter default_erl is now '2'.

Looking at this again, there is currently not a way to enable this
without first defining an explicit initiator NodeACL.

I'll be fixing this shortly.

> >
> > Note that ErrorRecoveryLevel=0 is enforced by default to avoid certain
> > initiators that attempt to negotiate ErrorRecoveryLevel>1, but end up
> > (historically) violating the connection recovery state machine, causing
> > themselves to eventually take their LUNs offline.
> 
> Below is the iscsi-initiator I am using. Does LIO enforce ERL=0 for this ?
> 
> [root@localhost src]# rpm -qa | grep iscsi-init
> iscsi-initiator-utils-6.2.0.872-19.fc18.x86_64
> [root@localhost src]#
> 

FYI, you know that open-iscsi does not support ERL>0, right..?

--nab

--
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