[stgt] [PATCH] iSCSI: Always honour MaxRecvDataSegmentLength, not just during discovery

Ronnie Sahlberg ronniesahlberg at gmail.com
Tue Aug 21 01:46:34 CEST 2012


We should always honour this login parameter, both during discovery but also
during normal sessions.

Otherwise if an initiator sets this value to 256k and performs a 256k read from
the target tgtd will send the data back to the initiator in 8kb DATA chunks
at cost to performance.

You can also set this parameter manually from the command line :

tgtadm --op update --mode target --tid 1 --name MaxXmitDataSegmentLength --value 16384

Signed-off-by: Ronnie Sahlberg <ronniesahlberg at gmail.com>
---
 usr/iscsi/iscsid.c |    3 +--
 1 files changed, 1 insertions(+), 2 deletions(-)

diff --git a/usr/iscsi/iscsid.c b/usr/iscsi/iscsid.c
index 96abbfc..eaa21b1 100644
--- a/usr/iscsi/iscsid.c
+++ b/usr/iscsi/iscsid.c
@@ -345,8 +345,7 @@ static void text_scan_login(struct iscsi_connection *conn)
 				text_key_add_reject(conn, key);
 				continue;
 			}
-			if (idx == ISCSI_PARAM_MAX_XMIT_DLENGTH &&
-			    conn->session_type == SESSION_DISCOVERY)
+			if (idx == ISCSI_PARAM_MAX_XMIT_DLENGTH)
 				conn->session_param[idx].val = val;
 			else
 				param_set_val(session_keys,
-- 
1.7.3.1

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



More information about the stgt mailing list