iscsi: remove global data members for non-configurable parameters

FirstBurstLength, MaxBurstLength and MaxRecvDataSegmentLength
cannot be configured, so there is no need to keep global data
members for these parameters - just use the default #defines
instead.

Signed-off-by: Jim Harris <james.r.harris@intel.com>
Change-Id: I4b47e00a5594da8ec0b87192be4a23c4a2145bde

Reviewed-on: https://review.gerrithub.io/385490
Reviewed-by: Daniel Verkamp <daniel.verkamp@intel.com>
Tested-by: SPDK Automated Test System <sys_sgsw@intel.com>
Reviewed-by: Ben Walker <benjamin.walker@intel.com>
This commit is contained in:
Jim Harris 2017-10-25 19:00:55 -07:00
parent ed2f2d9d0e
commit 11bd19c80c
6 changed files with 10 additions and 50 deletions

View File

@ -517,7 +517,7 @@ spdk_iscsi_read_pdu(struct spdk_iscsi_conn *conn, struct spdk_iscsi_pdu **_pdu)
} else if (pdu->bhs.opcode == ISCSI_OP_SCSI_DATAOUT) { } else if (pdu->bhs.opcode == ISCSI_OP_SCSI_DATAOUT) {
max_segment_len = spdk_get_data_out_buffer_size(); max_segment_len = spdk_get_data_out_buffer_size();
} else if (pdu->bhs.opcode == ISCSI_OP_NOPOUT) { } else if (pdu->bhs.opcode == ISCSI_OP_NOPOUT) {
max_segment_len = g_spdk_iscsi.MaxRecvDataSegmentLength; max_segment_len = SPDK_ISCSI_MAX_RECV_DATA_SEGMENT_LENGTH;
} else { } else {
max_segment_len = spdk_get_immediate_data_buffer_size(); max_segment_len = spdk_get_immediate_data_buffer_size();
} }
@ -1118,10 +1118,9 @@ spdk_iscsi_check_values(struct spdk_iscsi_conn *conn)
conn->sess->MaxBurstLength); conn->sess->MaxBurstLength);
return -1; return -1;
} }
if (conn->sess->FirstBurstLength > g_spdk_iscsi.FirstBurstLength) { if (conn->sess->FirstBurstLength > SPDK_ISCSI_FIRST_BURST_LENGTH) {
SPDK_ERRLOG("FirstBurstLength(%d) > iSCSI target restriction(%d)\n", SPDK_ERRLOG("FirstBurstLength(%d) > iSCSI target restriction(%d)\n",
conn->sess->FirstBurstLength, conn->sess->FirstBurstLength, SPDK_ISCSI_FIRST_BURST_LENGTH);
g_spdk_iscsi.FirstBurstLength);
return -1; return -1;
} }
if (conn->sess->MaxBurstLength > 0x00ffffff) { if (conn->sess->MaxBurstLength > 0x00ffffff) {
@ -3504,7 +3503,7 @@ spdk_add_transfer_task(struct spdk_iscsi_conn *conn,
transfer_len = task->scsi.transfer_len; transfer_len = task->scsi.transfer_len;
data_len = spdk_iscsi_task_get_pdu(task)->data_segment_len; data_len = spdk_iscsi_task_get_pdu(task)->data_segment_len;
max_burst_len = conn->sess->MaxBurstLength; max_burst_len = conn->sess->MaxBurstLength;
segment_len = g_spdk_iscsi.MaxRecvDataSegmentLength; segment_len = SPDK_ISCSI_MAX_RECV_DATA_SEGMENT_LENGTH;
data_out_req = 1 + (transfer_len - data_len - 1) / segment_len; data_out_req = 1 + (transfer_len - data_len - 1) / segment_len;
task->data_out_cnt = data_out_req; task->data_out_cnt = data_out_req;
@ -4491,8 +4490,8 @@ spdk_create_iscsi_sess(struct spdk_iscsi_conn *conn,
sess->DefaultTime2Wait = g_spdk_iscsi.DefaultTime2Wait; sess->DefaultTime2Wait = g_spdk_iscsi.DefaultTime2Wait;
sess->DefaultTime2Retain = g_spdk_iscsi.DefaultTime2Retain; sess->DefaultTime2Retain = g_spdk_iscsi.DefaultTime2Retain;
sess->FirstBurstLength = g_spdk_iscsi.FirstBurstLength; sess->FirstBurstLength = SPDK_ISCSI_FIRST_BURST_LENGTH;
sess->MaxBurstLength = g_spdk_iscsi.MaxBurstLength; sess->MaxBurstLength = SPDK_ISCSI_MAX_BURST_LENGTH;
sess->InitialR2T = DEFAULT_INITIALR2T; sess->InitialR2T = DEFAULT_INITIALR2T;
sess->ImmediateData = g_spdk_iscsi.ImmediateData; sess->ImmediateData = g_spdk_iscsi.ImmediateData;
sess->DataPDUInOrder = DEFAULT_DATAPDUINORDER; sess->DataPDUInOrder = DEFAULT_DATAPDUINORDER;

View File

@ -279,9 +279,6 @@ struct spdk_iscsi_globals {
uint32_t MaxConnections; uint32_t MaxConnections;
uint32_t DefaultTime2Wait; uint32_t DefaultTime2Wait;
uint32_t DefaultTime2Retain; uint32_t DefaultTime2Retain;
uint32_t FirstBurstLength;
uint32_t MaxBurstLength;
uint32_t MaxRecvDataSegmentLength;
uint32_t ImmediateData; uint32_t ImmediateData;
uint32_t ErrorRecoveryLevel; uint32_t ErrorRecoveryLevel;
uint32_t AllowDuplicateIsid; uint32_t AllowDuplicateIsid;
@ -371,7 +368,7 @@ spdk_get_immediate_data_buffer_size(void)
* take up much space and we need to make sure the worst-case scenario * take up much space and we need to make sure the worst-case scenario
* can be satisified by the size returned here. * can be satisified by the size returned here.
*/ */
return g_spdk_iscsi.FirstBurstLength + return SPDK_ISCSI_FIRST_BURST_LENGTH +
ISCSI_DIGEST_LEN + /* data digest */ ISCSI_DIGEST_LEN + /* data digest */
ISCSI_DIGEST_LEN + /* header digest */ ISCSI_DIGEST_LEN + /* header digest */
8 + /* bidirectional AHS */ 8 + /* bidirectional AHS */
@ -381,7 +378,7 @@ spdk_get_immediate_data_buffer_size(void)
static inline int static inline int
spdk_get_data_out_buffer_size(void) spdk_get_data_out_buffer_size(void)
{ {
return g_spdk_iscsi.MaxRecvDataSegmentLength; return SPDK_ISCSI_MAX_RECV_DATA_SEGMENT_LENGTH;
} }
#endif /* SPDK_ISCSI_H */ #endif /* SPDK_ISCSI_H */

View File

@ -647,37 +647,6 @@ spdk_iscsi_app_read_parameters(void)
return -1; return -1;
} }
g_spdk_iscsi.FirstBurstLength = SPDK_ISCSI_FIRST_BURST_LENGTH;
SPDK_DEBUGLOG(SPDK_TRACE_ISCSI, "FirstBurstLength %d\n",
g_spdk_iscsi.FirstBurstLength);
g_spdk_iscsi.MaxBurstLength = SPDK_ISCSI_MAX_BURST_LENGTH;
SPDK_DEBUGLOG(SPDK_TRACE_ISCSI, "MaxBurstLength %d\n",
g_spdk_iscsi.MaxBurstLength);
g_spdk_iscsi.MaxRecvDataSegmentLength = SPDK_ISCSI_MAX_RECV_DATA_SEGMENT_LENGTH;
SPDK_DEBUGLOG(SPDK_TRACE_ISCSI, "MaxRecvDataSegmentLength %d\n",
g_spdk_iscsi.MaxRecvDataSegmentLength);
/* check size limit (up to 24bits - RFC3720(12.12)) */
if (g_spdk_iscsi.MaxBurstLength < 512) {
SPDK_ERRLOG("MaxBurstLength(%d) < 512\n", g_spdk_iscsi.MaxBurstLength);
return -1;
}
if (g_spdk_iscsi.FirstBurstLength < 512) {
SPDK_ERRLOG("FirstBurstLength(%d) < 512\n", g_spdk_iscsi.FirstBurstLength);
return -1;
}
if (g_spdk_iscsi.FirstBurstLength > g_spdk_iscsi.MaxBurstLength) {
SPDK_ERRLOG("FirstBurstLength(%d) > MaxBurstLength(%d)\n",
g_spdk_iscsi.FirstBurstLength, g_spdk_iscsi.MaxBurstLength);
return -1;
}
if (g_spdk_iscsi.MaxBurstLength > 0x00ffffff) {
SPDK_ERRLOG("MaxBurstLength(%d) > 0x00ffffff\n", g_spdk_iscsi.MaxBurstLength);
return -1;
}
val = spdk_conf_section_get_val(sp, "ImmediateData"); val = spdk_conf_section_get_val(sp, "ImmediateData");
if (val == NULL) { if (val == NULL) {
ImmediateData = DEFAULT_IMMEDIATEDATA; ImmediateData = DEFAULT_IMMEDIATEDATA;

View File

@ -534,10 +534,10 @@ spdk_iscsi_special_param_construction(struct spdk_iscsi_conn *conn,
SPDK_DEBUGLOG(SPDK_TRACE_ISCSI, SPDK_DEBUGLOG(SPDK_TRACE_ISCSI,
"returning MaxRecvDataSegmentLength=%d\n", "returning MaxRecvDataSegmentLength=%d\n",
g_spdk_iscsi.MaxRecvDataSegmentLength); SPDK_ISCSI_MAX_RECV_DATA_SEGMENT_LENGTH);
len = snprintf((char *)data + total, alloc_len - total, len = snprintf((char *)data + total, alloc_len - total,
"MaxRecvDataSegmentLength=%d", "MaxRecvDataSegmentLength=%d",
g_spdk_iscsi.MaxRecvDataSegmentLength); SPDK_ISCSI_MAX_RECV_DATA_SEGMENT_LENGTH);
total += len + 1; total += len + 1;
} }

View File

@ -8,9 +8,6 @@
DiscoveryAuthGroup AuthGroup1 DiscoveryAuthGroup AuthGroup1
MaxSessions 256 MaxSessions 256
MaxR2T 256 MaxR2T 256
FirstBurstLength 262144
MaxBurstLength 16776192
MaxRecvDataSegmentLength 131072
ErrorRecoveryLevel 2 ErrorRecoveryLevel 2
NopInInterval 10 NopInInterval 10
AllowDuplicateIsid Yes AllowDuplicateIsid Yes

View File

@ -147,8 +147,6 @@ maxburstlength_test(void)
req->write_bit = 1; req->write_bit = 1;
req->final_bit = 1; req->final_bit = 1;
g_spdk_iscsi.MaxRecvDataSegmentLength = 1024;
rc = spdk_iscsi_execute(&conn, req_pdu); rc = spdk_iscsi_execute(&conn, req_pdu);
CU_ASSERT_FATAL(rc == 0); CU_ASSERT_FATAL(rc == 0);