This commit is contained in:
mchristi 2010-04-01 01:52:24 +00:00
parent aadf696d1d
commit 7d97f77d7a
2 changed files with 49 additions and 1 deletions

View File

@ -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

View File

@ -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@redhat.com> 6.2.0.872.1
- 578455 Fix handling of MaxXmitDataSegmentLength=0
* Wed Mar 24 2010 Mike Christie <mchristi@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