From c5bc0a49b075580382d1b59b9fab4ff27ec2b361 Mon Sep 17 00:00:00 2001 From: Ronnie Sahlberg Date: Tue, 23 Feb 2016 21:34:34 -0800 Subject: [PATCH] Tests: Fix the retry loop for the reserve6 helpers. We should exit the loop once we have a command that is NOT aborted with unit attention. Signed-off-by: Ronnie Sahlberg --- test-tool/iscsi-support.c | 18 ++++++++++++------ 1 file changed, 12 insertions(+), 6 deletions(-) diff --git a/test-tool/iscsi-support.c b/test-tool/iscsi-support.c index a686266..1b37a6f 100644 --- a/test-tool/iscsi-support.c +++ b/test-tool/iscsi-support.c @@ -2011,11 +2011,11 @@ int release6(struct scsi_device *sdev) { struct scsi_task *task; - int i, res = 0; + int i, res = -1; logging(LOG_VERBOSE, "Send RELEASE6"); - for (i = 0; i < 3 && res == 0; ++i) { + for (i = 0; i < 3 && res != 0; ++i) { task = scsi_cdb_release6(); assert(task != NULL); @@ -2035,6 +2035,8 @@ release6(struct scsi_device *sdev) "failed with sense. %s", iscsi_get_error(sdev->iscsi_ctx)); res = -1; + } else { + res = 0; } scsi_free_scsi_task(task); } @@ -2073,11 +2075,11 @@ int reserve6(struct scsi_device *sdev) { struct scsi_task *task; - int i, res = 0; + int i, res = -1; logging(LOG_VERBOSE, "Send RESERVE6"); - for (i = 0; i < 3 && res == 0; ++i) { + for (i = 0; i < 3 && res != 0; ++i) { task = scsi_cdb_reserve6(); assert(task != NULL); @@ -2101,6 +2103,8 @@ reserve6(struct scsi_device *sdev) "failed with sense. %s", iscsi_get_error(sdev->iscsi_ctx)); res = -1; + } else { + res = 0; } scsi_free_scsi_task(task); } @@ -2114,11 +2118,11 @@ int reserve6_conflict(struct scsi_device *sdev) { struct scsi_task *task; - int i, res = 0; + int i, res = -1; logging(LOG_VERBOSE, "Send RESERVE6 (Expecting RESERVATION_CONFLICT)"); - for (i = 0; i < 3 && res == 0; ++i) { + for (i = 0; i < 3 && res != 0; ++i) { task = scsi_cdb_reserve6(); assert(task != NULL); @@ -2141,6 +2145,8 @@ reserve6_conflict(struct scsi_device *sdev) logging(LOG_NORMAL, "[FAILED] RESERVE6 command: " "should have failed with RESERVATION_CONFLICT"); res = -1; + } else { + res = 0; } scsi_free_scsi_task(task); }