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