On 01/16/2011 02:55 AM, Or Gerlitz wrote:

I noted that in the patch I posted earlier the session lock was taken when
serving _CONN_PORT/ADDRESS get param, it was actually copy/pasted from the
iscsi_tcp code... but I wasn't looking on if/how this protects against
ep_disconnect destroying the underlying ib connection, etc.

If we want to go simple, maybe we can use the approach of the (iser, cxgbi, etc)
transport binding code to make a copy of the remote address in the form of
the portal_port/address fields of struct iscsi_conn, e.g not remove these
fields as done by your patch


Hey, I fixed this in the patches and put them in here:

http://git.kernel.org/?p=linux/kernel/git/mnc/linux-2.6-iscsi.git;a=shortlog;h=refs/heads/iscsi

Do you prefer that I send the entire patchset to the list? If so let me know. It is built on top of some other patches. I fixed up the end point leak one so it better fit the one patch per change rule (the previous patch mixed cleanup in there).

The relevant iser changes are:
http://git.kernel.org/?p=linux/kernel/git/mnc/linux-2.6-iscsi.git;a=commit;h=00320bcd5467a6cbb2d55f7c1dbf85128bc072ea
and
http://git.kernel.org/?p=linux/kernel/git/mnc/linux-2.6-iscsi.git;a=commit;h=9259584189c8b9731b210b05dfdafc0483ab9554

I just added a mutex around the reading of conn params and around some state bits that indicated if the ep is getting disconnected. This way the LLD does not have to worry. It knows that the get param callout will not get called if ep disconnect has been called. And ep disconnect waits for a get param to finish before calling into the driver to tear down the ep.

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

Reply via email to