[iscsi-initiator-utils: 42/109] Resolves: #578455

Chris Leech cleech at fedoraproject.org
Tue Dec 10 21:22:54 UTC 2013


commit 7d97f77d7a8f361f21dd0b2c4f74b0feaf46247e
Author: mchristi <mchristi at redhat.com>
Date:   Thu Apr 1 01:52:24 2010 +0000

    Resolves: #578455

 ...r-utils-fix-zero-MaxXmitDataSegmentLength.patch |   41 ++++++++++++++++++++
 iscsi-initiator-utils.spec                         |    9 ++++-
 2 files changed, 49 insertions(+), 1 deletions(-)
---
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 <mchristi at redhat.com> 6.2.0.872.1
+- 578455 Fix handling of MaxXmitDataSegmentLength=0
+
 * Wed Mar 24 2010 Mike Christie <mchristi at redhat.com> 6.2.0.872.0
 - 516444 Add iSNS SCN handling (rebased to open-iscsi-2.0-872-rc1-)
 - Update brcm to 0.5.7


More information about the scm-commits mailing list