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:
Upon looking further. I found out that the target does indeed support
ERL=[0,1,2]. As it throws error if value is not between 0 and 2.
However, the symptoms remains the same. When attempting
to login with ERL=1, the target response back ERL=0. Are we looking at
an error?
No.
Ok.
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 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.
--snip--
Nov 20 06:30:07 localhost kernel: [21197.718337] Initiator sent SNACK
request while in ErrorRecoveryLevel=0.
--snip--
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]#
--nab
Thanks,
Arshad
Thanks,
Arshad
--snip--
Nov 19 04:57:55 localhost kernel: [104354.626532] Illegal value for
"ErrorRecoveryLevel", must be between 0 and 2.
Nov 19 04:57:55 localhost kernel: [104354.626547] iSCSI Login
negotiation failed.
--snip--
On 11/19/2013 12:41 PM, Arshad Hussain wrote:
Hi Nicholas,
I am trying to negotiate "ErrorRecoveryLevel=1". At the time of login.
However, the response for target comes back always as
"ErrorRecoveyLevel=0".
I am assuming target is not supporting ERL>0. Is my observation correct ?
Thanks,
Arshad
[root@localhost src]# cat /sys/kernel/config/target/iscsi/lio_version
RisingTide Systems Linux-iSCSI Target v4.1.0-rc2
[root@localhost src]#
--
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
--
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