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.