From 7d97f77d7a8f361f21dd0b2c4f74b0feaf46247e Mon Sep 17 00:00:00 2001 From: mchristi Date: Apr 01 2010 01:52:24 +0000 Subject: Resolves: #578455 --- diff --git a/iscsi-initiator-utils-fix-zero-MaxXmitDataSegmentLength.patch b/iscsi-initiator-utils-fix-zero-MaxXmitDataSegmentLength.patch new file mode 100644 index 0000000..88f8a8e --- /dev/null +++ b/iscsi-initiator-utils-fix-zero-MaxXmitDataSegmentLength.patch @@ -0,0 +1,41 @@ +diff --git a/usr/initiator.c b/usr/initiator.c +index 1c9d8b6..70c873b 100644 +--- a/usr/initiator.c ++++ b/usr/initiator.c +@@ -368,9 +368,10 @@ iscsi_copy_operational_params(iscsi_conn_t *conn) + /* zero indicates to use the target's value */ + conn->max_xmit_dlength = + __padding(conn_rec->iscsi.MaxXmitDataSegmentLength); +- if (conn->max_xmit_dlength != 0 && +- (conn->max_xmit_dlength < ISCSI_MIN_MAX_RECV_SEG_LEN || +- conn->max_xmit_dlength > ISCSI_MAX_MAX_RECV_SEG_LEN)) { ++ if (conn->max_xmit_dlength == 0) ++ conn->max_xmit_dlength = ISCSI_DEF_MAX_RECV_SEG_LEN; ++ if (conn->max_xmit_dlength < ISCSI_MIN_MAX_RECV_SEG_LEN || ++ conn->max_xmit_dlength > ISCSI_MAX_MAX_RECV_SEG_LEN) { + log_error("Invalid iscsi.MaxXmitDataSegmentLength. Must be " + "within %u and %u. Setting to %u\n", + ISCSI_MIN_MAX_RECV_SEG_LEN, +diff --git a/usr/login.c b/usr/login.c +index 4f891de..be19b9e 100644 +--- a/usr/login.c ++++ b/usr/login.c +@@ -390,9 +390,14 @@ get_op_params_text_keys(iscsi_session_t *session, int cid, + if (session->type == ISCSI_SESSION_TYPE_DISCOVERY || + !session->t->template->rdma) { + int tgt_max_xmit; ++ conn_rec_t *conn_rec = &session->nrec.conn[cid]; + + tgt_max_xmit = strtoul(value, NULL, 0); +- if (conn->max_xmit_dlength == 0 || ++ /* ++ * if the rec value is zero it means to use ++ * what the target gave us. ++ */ ++ if (!conn_rec->iscsi.MaxXmitDataSegmentLength || + tgt_max_xmit < conn->max_xmit_dlength) + conn->max_xmit_dlength = tgt_max_xmit; + } +-- +1.6.6.1 + diff --git a/iscsi-initiator-utils.spec b/iscsi-initiator-utils.spec index b5e7c73..ad3ae6b 100644 --- a/iscsi-initiator-utils.spec +++ b/iscsi-initiator-utils.spec @@ -3,7 +3,7 @@ Summary: iSCSI daemon and utility programs Name: iscsi-initiator-utils Version: 6.2.0.872 -Release: 0%{?dist} +Release: 1%{?dist} Source0: http://people.redhat.com/mchristi/iscsi/rhel6.0/source/open-iscsi-2.0-872-rc1-bnx2i.tar.gz Source1: iscsid.init Source2: iscsidevs.init @@ -22,6 +22,8 @@ Patch4: iscsi-initiator-utils-add-libiscsi.patch Patch5: iscsi-initiator-utils-uip-mgmt.patch # disable isns for libiscsi (libiscsi does not support isns) Patch6: iscsi-initiator-utils-disable-isns-for-lib.patch +# fix MaxXmitDataSegmentLength=0 handling +Patch7: iscsi-initiator-utils-fix-zero-MaxXmitDataSegmentLength.patch Group: System Environment/Daemons License: GPLv2+ @@ -55,6 +57,8 @@ developing applications that use %{name}. %patch4 -p1 -b .add-libiscsi %patch5 -p1 -b .uip-mgmt %patch6 -p1 -b .disable-isns-for-lib +%patch7 -p1 -b .fix-zero-MaxXmitDataSegmentLength + %build cd utils/open-isns @@ -173,6 +177,9 @@ fi %{_includedir}/libiscsi.h %changelog +* Wed Mar 31 2010 Mike Christie 6.2.0.872.1 +- 578455 Fix handling of MaxXmitDataSegmentLength=0 + * Wed Mar 24 2010 Mike Christie 6.2.0.872.0 - 516444 Add iSNS SCN handling (rebased to open-iscsi-2.0-872-rc1-) - Update brcm to 0.5.7