From fbf58ead9fe3762ee21ac119a9f55054da90b55e Mon Sep 17 00:00:00 2001 From: Ronnie Sahlberg Date: Wed, 27 Mar 2013 17:25:47 -0700 Subject: [PATCH] TESTS: When task management functions fail, print the reason why it failed. --- lib/sync.c | 19 ++++++++++++++++++- test-tool/test_reserve6_lun_reset.c | 2 +- test-tool/test_reserve6_target_cold_reset.c | 2 +- test-tool/test_reserve6_target_warm_reset.c | 2 +- 4 files changed, 21 insertions(+), 4 deletions(-) diff --git a/lib/sync.c b/lib/sync.c index ce41e3b..5fc3a80 100644 --- a/lib/sync.c +++ b/lib/sync.c @@ -158,7 +158,7 @@ int iscsi_logout_sync(struct iscsi_context *iscsi) } static void -iscsi_task_mgmt_sync_cb(struct iscsi_context *iscsi _U_, int status, +iscsi_task_mgmt_sync_cb(struct iscsi_context *iscsi, int status, void *command_data, void *private_data) { struct iscsi_sync_state *state = private_data; @@ -173,6 +173,23 @@ iscsi_task_mgmt_sync_cb(struct iscsi_context *iscsi _U_, int status, * "command not implemented" or something. */ if (command_data && *(uint32_t *)command_data) { + switch (*(uint32_t *)command_data) { + case 1: iscsi_set_error(iscsi, "TASK MGMT responded Task Does Not Exist"); + break; + case 2: iscsi_set_error(iscsi, "TASK MGMT responded LUN Does Not Exist"); + break; + case 3: iscsi_set_error(iscsi, "TASK MGMT responded Task Still Allegiant"); + break; + case 4: iscsi_set_error(iscsi, "TASK MGMT responded Task Allegiance Reassignment Not Supported"); + break; + case 5: iscsi_set_error(iscsi, "TASK MGMT responded Task Mgmt Function Not Supported"); + break; + case 6: iscsi_set_error(iscsi, "TASK MGMT responded Function Authorization Failed"); + break; + case 255: iscsi_set_error(iscsi, "TASK MGMT responded Function Rejected"); + break; + } + state->status = SCSI_STATUS_ERROR; } } diff --git a/test-tool/test_reserve6_lun_reset.c b/test-tool/test_reserve6_lun_reset.c index 12c9b53..980464c 100644 --- a/test-tool/test_reserve6_lun_reset.c +++ b/test-tool/test_reserve6_lun_reset.c @@ -48,7 +48,7 @@ test_reserve6_lun_reset(void) logging(LOG_VERBOSE, "Send a LUN Reset"); ret = iscsi_task_mgmt_lun_reset_sync(iscsic, tgt_lun); if (ret != 0) { - logging(LOG_NORMAL, "LUN reset failed"); + logging(LOG_NORMAL, "LUN reset failed. %s", iscsi_get_error(iscsic)); } CU_ASSERT_EQUAL(ret, 0); diff --git a/test-tool/test_reserve6_target_cold_reset.c b/test-tool/test_reserve6_target_cold_reset.c index 5817a2e..4e53cf7 100644 --- a/test-tool/test_reserve6_target_cold_reset.c +++ b/test-tool/test_reserve6_target_cold_reset.c @@ -48,7 +48,7 @@ test_reserve6_target_cold_reset(void) logging(LOG_VERBOSE, "Send a Cold Reset to the target"); ret = iscsi_task_mgmt_target_cold_reset_sync(iscsic); if (ret != 0) { - logging(LOG_NORMAL, "Cold reset failed"); + logging(LOG_NORMAL, "Cold reset failed. %s", iscsi_get_error(iscsic)); } CU_ASSERT_EQUAL(ret, 0); diff --git a/test-tool/test_reserve6_target_warm_reset.c b/test-tool/test_reserve6_target_warm_reset.c index 762cbc1..283ae39 100644 --- a/test-tool/test_reserve6_target_warm_reset.c +++ b/test-tool/test_reserve6_target_warm_reset.c @@ -48,7 +48,7 @@ test_reserve6_target_warm_reset(void) logging(LOG_VERBOSE, "Send a Warm Reset to the target"); ret = iscsi_task_mgmt_target_warm_reset_sync(iscsic); if (ret != 0) { - logging(LOG_NORMAL, "Warm reset failed"); + logging(LOG_NORMAL, "Warm reset failed. %s", iscsi_get_error(iscsic)); } CU_ASSERT_EQUAL(ret, 0);