aboutsummaryrefslogtreecommitdiff
path: root/src/sg_turs.c
diff options
context:
space:
mode:
authorDouglas Gilbert <dgilbert@interlog.com>2021-08-30 21:15:57 +0000
committerDouglas Gilbert <dgilbert@interlog.com>2021-08-30 21:15:57 +0000
commitd4485d5b472462f2ee34bb18f1cef77d2c883b8e (patch)
tree6a3709bf6a6ef5ed2895c24c852281f3b3ee0580 /src/sg_turs.c
parent5fbd329cbcb0078fc787467703a2581935405b7e (diff)
downloadsg3_utils-d4485d5b472462f2ee34bb18f1cef77d2c883b8e.tar.gz
improve transport error handling. To fix report of a BAD_TARGET transport error but the utility still continued. introduce SG_LIB_TRANSPORT_ERROR [35] exit status
git-svn-id: https://svn.bingwo.ca/repos/sg3_utils/trunk@910 6180dd3e-e324-4e3e-922d-17de1ae2f315
Diffstat (limited to 'src/sg_turs.c')
-rw-r--r--src/sg_turs.c9
1 files changed, 6 insertions, 3 deletions
diff --git a/src/sg_turs.c b/src/sg_turs.c
index 9544e344..7b575911 100644
--- a/src/sg_turs.c
+++ b/src/sg_turs.c
@@ -45,7 +45,7 @@
#include "sg_pr2serr.h"
-static const char * version_str = "3.48 20210102";
+static const char * version_str = "3.49 20210830";
#define DEF_PT_TIMEOUT 60 /* 60 seconds */
@@ -389,7 +389,10 @@ loop_turs(struct sg_pt_base * ptvp, struct loop_res_t * resp,
n = sg_cmds_process_resp(ptvp, "Test unit ready", rs, (0 == k),
vb, &sense_cat);
if (-1 == n) {
- resp->ret = sg_convert_errno(get_scsi_pt_os_err(ptvp));
+ if (get_scsi_pt_transport_err(ptvp))
+ resp->ret = SG_LIB_TRANSPORT_ERROR;
+ else
+ resp->ret = sg_convert_errno(get_scsi_pt_os_err(ptvp));
return k;
} else if (-2 == n) {
switch (sense_cat) {
@@ -441,7 +444,7 @@ loop_turs(struct sg_pt_base * ptvp, struct loop_res_t * resp,
if (SG_LIB_CAT_NOT_READY == res) {
if (! check_for_lu_becoming(ptvp))
printf("device not ready\n");
- continue;
+ continue;
} else {
sg_get_category_sense_str(res, sizeof(b), b, vb);
printf("%s\n", b);