On 11/03/2011 08:23 AM, Sebastian Riemer wrote:
> Hi all,
> 
> we've found out that open-iscsi (also with newest userspace source from
> Git, 3.0.4 kernel) immediately trys to disconnect the iSER session upon
> connection loss. Why is that so? This is blocked if the device is in use.

If there is a connection loss then we need to reconnect to the target.
If when you mention open-iscsi tries to disconnect the iSER session that
you mean iscsi_iser_ep_disconnect is run, then that should just be
cleaning up the iser level resources of the previous connection so we
can create a new one. During this time the actual devices like scsi
devices /dev/sdX accessed through the session/connection should be
blocked (/sys/block/sdX/device/state should be "blocked") so IO is not
sent to them while we are doing session recovery. That does not affect
the iser recovery normally though (However it would if the devices got
removed somehow like you described in your first mail).


Is iser recovery stuck on that sync cache command like here:
Oct 25 13:36:07 server14 kernel: [79490.310169] sd 6:0:0:215:
[sdhi] Synchronizing SCSI cache

That should not be getting sent as result of just the recovery process.

You never responded with the iscsi login response code the target was
sending. I think you just sent the ib/iser level ones. Could you perform
your test again but run iscsid in debugging mode and send me all the
output? Instead of start iscsid like would normally do

iscsid -d 8 -f &


then run iscsiadm to login to your target

iscsiadm -m node -T target -p ip -l

Run your test. Then send me the iscsid output and send me all of the
/var/log/messages output.


> 
> The Solaris COMSTAR iSER target doesn't show any errors.
> 
> We have our QEMU/KVM VMs with Debian Squeeze running inside with ext3 on
> the iSER storage. I ran a continuous dd to a file inside the VM to
> produce some IO.
> 
> Meanwhile on the host, I ran a little script with a timed loop of
> "ibportstate <LID> <port> reset" to hold down the IB link ("disable"
> only works for IB switches).
> 
> After 120s default replacement_timeout the errors are reported to the VM
> and in the moment the IB link comes available again ext3 breaks always
> for sure (becomes read-only).
> TCP over Ethernet would reconnect and resend packets as if there wasn't
> any error. Can such a behaviour be implemented with iSER, too?


Do you mean iscsi_tcp reconnects before the replacement_timeout? If so
iser should be doing this too. It is a bug if it is not coming back
until after replcement_timeout seconds if the problem has been fixed
within that many seconds.

-- 
You received this message because you are subscribed to the Google Groups 
"open-iscsi" group.
To post to this group, send email to open-iscsi@googlegroups.com.
To unsubscribe from this group, send email to 
open-iscsi+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/open-iscsi?hl=en.

Reply via email to