From d901509bcbecc912ce79087915cae355d75ca03c Mon Sep 17 00:00:00 2001
From: Paolo Bonzini <pbonzini@redhat.com>
Date: Fri, 2 Aug 2013 16:24:34 +0200
Subject: [PATCH] use scsi_get/set_uint16/32/64 in tests
Fixes ARM problems too.
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
---
lib/libiscsi.syms | 6 ++++++
test-tool/1000_cmdsn_invalid.c | 4 ++--
test-tool/1010_datasn_invalid.c | 10 +++++-----
test-tool/1020_bufferoffset_invalid.c | 6 +++---
test-tool/1031_unsolicited_data_out.c | 7 +++----
test-tool/1041_unsolicited_immediate_data.c | 2 +-
test-tool/1042_unsolicited_nonimmediate_data.c | 4 ++--
test-tool/1100_persistent_reserve_in_read_keys_simple.c | 2 +-
test-tool/test_prin_read_keys_simple.c | 2 +-
9 files changed, 24 insertions(+), 19 deletions(-)
diff --git a/lib/libiscsi.syms b/lib/libiscsi.syms
index f0ca8cd..e887506 100644
--- a/lib/libiscsi.syms
+++ b/lib/libiscsi.syms
@@ -202,6 +202,9 @@ scsi_devqualifier_to_str
scsi_devtype_to_str
scsi_free_scsi_task
scsi_get_task_private_ptr
+scsi_get_uint16
+scsi_get_uint32
+scsi_get_uint64
scsi_inquiry_pagecode_to_str
scsi_protocol_identifier_to_str
scsi_reportluns_cdb
@@ -211,6 +214,9 @@ scsi_sense_ascq_str
scsi_pr_type_str
scsi_sense_key_str
scsi_set_task_private_ptr
+scsi_set_uint16
+scsi_set_uint32
+scsi_set_uint64
scsi_task_add_data_in_buffer
scsi_task_add_data_out_buffer
scsi_task_set_iov_in
diff --git a/test-tool/1000_cmdsn_invalid.c b/test-tool/1000_cmdsn_invalid.c
index 3c88d2c..5b50a56 100644
--- a/test-tool/1000_cmdsn_invalid.c
+++ b/test-tool/1000_cmdsn_invalid.c
@@ -29,11 +29,11 @@ static int my_iscsi_queue_pdu(struct iscsi_context *iscsi, struct iscsi_pdu *pdu
switch (change_cmdsn) {
case 1:
/* change the cmdsn so it becomes too big */
- *(uint32_t *)&pdu->outdata.data[24] = htonl(iscsi->maxcmdsn + 1);
+ scsi_set_uint32(&pdu->outdata.data[24], iscsi->maxcmdsn + 1);
break;
case 2:
/* change the cmdsn so it becomes too small */
- *(uint32_t *)&pdu->outdata.data[24] = 0;
+ scsi_set_uint32(&pdu->outdata.data[24], 0);
break;
}
diff --git a/test-tool/1010_datasn_invalid.c b/test-tool/1010_datasn_invalid.c
index f605354..e9e027d 100644
--- a/test-tool/1010_datasn_invalid.c
+++ b/test-tool/1010_datasn_invalid.c
@@ -34,20 +34,20 @@ static int my_iscsi_queue_pdu(struct iscsi_context *iscsi _U_, struct iscsi_pdu
switch (clamp_datasn) {
case 1:
/* change datasn to 0 */
- *(uint32_t *)&pdu->outdata.data[36] = 0;
+ scsi_set_uint32(&pdu->outdata.data[36], 0);
break;
case 2:
/* change datasn to 27 */
- *(uint32_t *)&pdu->outdata.data[36] = htonl(27);
+ scsi_set_uint32(&pdu->outdata.data[36], 27);
break;
case 3:
/* change datasn to -1 */
- *(uint32_t *)&pdu->outdata.data[36] = htonl(-1);
+ scsi_set_uint32(&pdu->outdata.data[36], -1);
break;
case 4:
/* change datasn from (0,1) to (1,0) */
- datasn = ntohl(*(uint32_t *)&pdu->outdata.data[36]);
- *(uint32_t *)&pdu->outdata.data[36] = htonl(1 - datasn);
+ datasn = scsi_get_uint32(&pdu->outdata.data[36]);
+ scsi_set_uint32(&pdu->outdata.data[36], 1 - datasn);
break;
}
return 0;
diff --git a/test-tool/1020_bufferoffset_invalid.c b/test-tool/1020_bufferoffset_invalid.c
index c044094..6260dec 100644
--- a/test-tool/1020_bufferoffset_invalid.c
+++ b/test-tool/1020_bufferoffset_invalid.c
@@ -31,15 +31,15 @@ static int my_iscsi_queue_pdu(struct iscsi_context *iscsi _U_, struct iscsi_pdu
if (pdu->outdata.data[0] != ISCSI_PDU_DATA_OUT) {
return 0;
}
- buffer_offset = ntohl(*(uint32_t *)&pdu->outdata.data[40]);
+ buffer_offset = scsi_get_uint32(&pdu->outdata.data[40]);
switch (change_bufferoffset) {
case 1:
/* Add 1M to the buffer offset */
- *(uint32_t *)&pdu->outdata.data[40] = htonl(buffer_offset + 1024*1024);
+ scsi_set_uint32(&pdu->outdata.data[40], buffer_offset + 1024*1024);
break;
case 2:
/* Add -'block_size' to the buffer offset */
- *(uint32_t *)&pdu->outdata.data[40] = htonl(buffer_offset - block_size);
+ scsi_set_uint32(&pdu->outdata.data[40], buffer_offset - block_size);
break;
}
return 0;
diff --git a/test-tool/1031_unsolicited_data_out.c b/test-tool/1031_unsolicited_data_out.c
index fca38c8..39a1ff9 100644
--- a/test-tool/1031_unsolicited_data_out.c
+++ b/test-tool/1031_unsolicited_data_out.c
@@ -74,8 +74,7 @@ my_iscsi_pdu_add_data(struct iscsi_context *iscsi, struct iscsi_pdu *pdu,
}
/* update data segment length */
- *(uint32_t *)&pdu->outdata.data[4] = htonl(pdu->outdata.size
- - ISCSI_HEADER_SIZE);
+ scsi_set_uint32(&pdu->outdata.data[4], pdu->outdata.size - ISCSI_HEADER_SIZE);
return 0;
}
@@ -83,13 +82,13 @@ my_iscsi_pdu_add_data(struct iscsi_context *iscsi, struct iscsi_pdu *pdu,
static void
my_iscsi_pdu_set_itt(struct iscsi_pdu *pdu, uint32_t itt)
{
- *(uint32_t *)&pdu->outdata.data[16] = htonl(itt);
+ scsi_set_uint32(&pdu->outdata.data[16], itt);
}
static void
my_iscsi_pdu_set_expstatsn(struct iscsi_pdu *pdu, uint32_t expstatsnsn)
{
- *(uint32_t *)&pdu->outdata.data[28] = htonl(expstatsnsn);
+ scsi_set_uint32(&pdu->outdata.data[28], expstatsnsn);
}
static void
diff --git a/test-tool/1041_unsolicited_immediate_data.c b/test-tool/1041_unsolicited_immediate_data.c
index 3bb4d28..2959236 100644
--- a/test-tool/1041_unsolicited_immediate_data.c
+++ b/test-tool/1041_unsolicited_immediate_data.c
@@ -37,7 +37,7 @@ static int my_queue_immediate_data(struct iscsi_context *iscsi _U_, struct iscsi
pdu_was_valid = 0;
return 0;
}
- if ( (*(uint32_t *)&pdu->outdata.data[4] & 0x00ffffff) != htonl(block_size)) {
+ if ( (scsi_get_uint32(&pdu->outdata.data[4]) & 0x00ffffff) != block_size) {
printf("SCSI-Command PDU did not have one block of immediate data.\n");
pdu_was_valid = 0;
return 0;
diff --git a/test-tool/1042_unsolicited_nonimmediate_data.c b/test-tool/1042_unsolicited_nonimmediate_data.c
index bb2112b..ec36c41 100644
--- a/test-tool/1042_unsolicited_nonimmediate_data.c
+++ b/test-tool/1042_unsolicited_nonimmediate_data.c
@@ -37,7 +37,7 @@ static int my_queue_immediate_data(struct iscsi_context *iscsi _U_, struct iscsi
pdu_was_valid = 0;
return 0;
}
- if ( *(uint32_t *)&pdu->outdata.data[4] & 0x00ffffff ) {
+ if ( scsi_get_uint32(&pdu->outdata.data[4]) & 0x00ffffff ) {
printf("SCSI-Command PDU had non-zero datasegmentsize.\n");
pdu_was_valid = 0;
return 0;
@@ -50,7 +50,7 @@ static int my_queue_immediate_data(struct iscsi_context *iscsi _U_, struct iscsi
pdu_was_valid = 0;
return 0;
}
- if ( (*(uint32_t *)&pdu->outdata.data[4] & 0x00ffffff) != htonl(block_size)) {
+ if ( (scsi_get_uint32(&pdu->outdata.data[4]) & 0x00ffffff) != block_size) {
printf("The DATA-OUT PDU did not carry a full block.\n");
pdu_was_valid = 0;
return 0;
diff --git a/test-tool/1100_persistent_reserve_in_read_keys_simple.c b/test-tool/1100_persistent_reserve_in_read_keys_simple.c
index 24de2ff..86bb83b 100644
--- a/test-tool/1100_persistent_reserve_in_read_keys_simple.c
+++ b/test-tool/1100_persistent_reserve_in_read_keys_simple.c
@@ -90,7 +90,7 @@ int T1100_persistent_reserve_in_read_keys_simple(const char *initiator, const ch
/* Verify that ADDITIONAL_LENGTH matches DATA-IN size */
printf("Verify that ADDITIONAL_LENGTH matches DATA-IN size ... ");
- al = ntohl(*(uint32_t *)&task->datain.data[4]);
+ al = scsi_get_uint32(&task->datain.data[4]);
if (al != task->datain.size - 8) {
printf("[FAILED]\n");
printf("ADDITIONAL_LENGTH was %d bytes but %d was expected.\n",
diff --git a/test-tool/test_prin_read_keys_simple.c b/test-tool/test_prin_read_keys_simple.c
index ba7b81e..0cf6edc 100644
--- a/test-tool/test_prin_read_keys_simple.c
+++ b/test-tool/test_prin_read_keys_simple.c
@@ -47,7 +47,7 @@ test_prin_read_keys_simple(void)
}
logging(LOG_VERBOSE, "Test ADDITIONAL_LENGTH matches DATA_IN size.");
- al = ntohl(*(uint32_t *)&task->datain.data[4]);
+ al = scsi_get_uint32(&task->datain.data[4]);
if (al != task->datain.size - 8) {
logging(LOG_NORMAL,
"[FAILED] ADDITIONAL_LENGTH was %d bytes but %d was expected.",
--
1.8.1.4