On Tue, 21 Sep 2010 14:33:31 +0200 Alexander Nezhinsky <alexandern at Voltaire.COM> wrote: > This patch breaks the dependence of iscsi login/text code on the > static structures within struct iscsi_conn. Most of the changes > are concerned with the following two issues: > > 1. changed function prototypes, to include pointers to the relevant > pdu or bhs structures or data buffers. These changes ultimately > start with the new prototype of cmnd_execute(), to which > two new arguments: struct iscsi_pdu *req_pdu, *rsp_pdu > are added. All other functions called from this point and on > are changed according to their needs. > > 2. struct login_state is defined and added to iscsi_conn. > It encapsulates login/text specific data and status. > All login/text data buffers are copied to the buffers > internal to this new structure. When necessary, data from multiple > pdus is accumulated in a single request buffer, and conversely, > a long response buffer can be sent piecewise within multiple pdus. > > These changes enable using dynamically allocated pdus and their > immediate release after processing by the login/text code. > Such scheme is to be employed by the new iser code, i.e. it's > the first step towards its integration. > > Verified: discovery and login (auth=None, auth=CHAP) > > Signed-off-by: Alexander Nezhinsky <alexandern at voltaire.com> > --- > usr/iscsi/conn.c | 21 +++ > usr/iscsi/iscsi_proto.h | 2 +- > usr/iscsi/iscsid.c | 313 +++++++++++++++++++++++++++++++---------------- > usr/iscsi/iscsid.h | 25 ++++- > 4 files changed, 254 insertions(+), 107 deletions(-) Can you start with the simpler approach like this? http://lists.wpkg.org/pipermail/stgt/2010-July/003970.html As I said before, duplicating the code is fine by now. If the new code really fixes the iser bugs, better to merge the code quickly. As long as there is no risk to break the tcp iscsi code, the patchset can be merged. -- To unsubscribe from this list: send the line "unsubscribe stgt" in the body of a message to majordomo at vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html |