svn commit: r352289 - stable/11/sbin/camcontrol
Alexander Motin
mav at FreeBSD.org
Fri Sep 13 15:13:22 UTC 2019
Author: mav
Date: Fri Sep 13 15:13:21 2019
New Revision: 352289
URL: https://svnweb.freebsd.org/changeset/base/352289
Log:
MFC r352018: Unify cam_send_ccb() error reporting.
Error there mean that command was not even executed, and all information
we have about it is errno, and cam_error_print() call is not very useful.
Plus it is most likely a programmatic error, that shoud not happen.
Modified:
stable/11/sbin/camcontrol/attrib.c
stable/11/sbin/camcontrol/camcontrol.c
stable/11/sbin/camcontrol/persist.c
Modified: stable/11/sbin/camcontrol/attrib.c
==============================================================================
--- stable/11/sbin/camcontrol/attrib.c Fri Sep 13 14:51:00 2019 (r352288)
+++ stable/11/sbin/camcontrol/attrib.c Fri Sep 13 15:13:21 2019 (r352289)
@@ -344,12 +344,6 @@ scsiattrib(struct cam_device *device, int argc, char *
if (cam_send_ccb(device, ccb) < 0) {
warn("error sending %s ATTRIBUTE", (read_attr != 0) ?
"READ" : "WRITE");
-
- if (verbosemode != 0) {
- cam_error_print(device, ccb, CAM_ESF_ALL,
- CAM_EPF_ALL, stderr);
- }
-
error = 1;
goto bailout;
}
Modified: stable/11/sbin/camcontrol/camcontrol.c
==============================================================================
--- stable/11/sbin/camcontrol/camcontrol.c Fri Sep 13 14:51:00 2019 (r352288)
+++ stable/11/sbin/camcontrol/camcontrol.c Fri Sep 13 15:13:21 2019 (r352289)
@@ -421,7 +421,7 @@ getdevlist(struct cam_device *device)
ccb->cgdl.status = CAM_GDEVLIST_MORE_DEVS;
while (ccb->cgdl.status == CAM_GDEVLIST_MORE_DEVS) {
if (cam_send_ccb(device, ccb) < 0) {
- perror("error getting device list");
+ warn("error getting device list");
cam_freeccb(ccb);
return (1);
}
@@ -728,13 +728,7 @@ testunitready(struct cam_device *device, int task_attr
if (cam_send_ccb(device, ccb) < 0) {
if (quiet == 0)
- perror("error sending test unit ready");
-
- if (arglist & CAM_ARG_VERBOSE) {
- cam_error_print(device, ccb, CAM_ESF_ALL,
- CAM_EPF_ALL, stderr);
- }
-
+ warn("error sending TEST UNIT READY command");
cam_freeccb(ccb);
return (1);
}
@@ -797,13 +791,7 @@ scsistart(struct cam_device *device, int startstop, in
ccb->ccb_h.flags |= CAM_PASS_ERR_RECOVER;
if (cam_send_ccb(device, ccb) < 0) {
- perror("error sending start unit");
-
- if (arglist & CAM_ARG_VERBOSE) {
- cam_error_print(device, ccb, CAM_ESF_ALL,
- CAM_EPF_ALL, stderr);
- }
-
+ warn("error sending START STOP UNIT command");
cam_freeccb(ccb);
return (1);
}
@@ -966,13 +954,7 @@ scsiinquiry(struct cam_device *device, int task_attr,
ccb->ccb_h.flags |= CAM_PASS_ERR_RECOVER;
if (cam_send_ccb(device, ccb) < 0) {
- perror("error sending SCSI inquiry");
-
- if (arglist & CAM_ARG_VERBOSE) {
- cam_error_print(device, ccb, CAM_ESF_ALL,
- CAM_EPF_ALL, stderr);
- }
-
+ warn("error sending INQUIRY command");
cam_freeccb(ccb);
return (1);
}
@@ -1048,13 +1030,7 @@ scsiserial(struct cam_device *device, int task_attr, i
ccb->ccb_h.flags |= CAM_PASS_ERR_RECOVER;
if (cam_send_ccb(device, ccb) < 0) {
- warn("error getting serial number");
-
- if (arglist & CAM_ARG_VERBOSE) {
- cam_error_print(device, ccb, CAM_ESF_ALL,
- CAM_EPF_ALL, stderr);
- }
-
+ warn("error sending INQUIRY command");
cam_freeccb(ccb);
free(serial_buf);
return (1);
@@ -1654,12 +1630,6 @@ scsi_cam_pass_16_send(struct cam_device *device, union
warn("error sending ATA %s via pass_16",
ata_op_string(&ata_cmd));
}
-
- if (arglist & CAM_ARG_VERBOSE) {
- cam_error_print(device, ccb, CAM_ESF_ALL,
- CAM_EPF_ALL, stderr);
- }
-
return (1);
}
@@ -1701,12 +1671,6 @@ ata_cam_send(struct cam_device *device, union ccb *ccb
warn("error sending ATA %s",
ata_op_string(&(ccb->ataio.cmd)));
}
-
- if (arglist & CAM_ARG_VERBOSE) {
- cam_error_print(device, ccb, CAM_ESF_ALL,
- CAM_EPF_ALL, stderr);
- }
-
return (1);
}
@@ -3969,13 +3933,7 @@ next_batch:
ccb->ccb_h.flags |= CAM_DEV_QFRZDIS;
if (cam_send_ccb(device, ccb) < 0) {
- perror("error reading defect list");
-
- if (arglist & CAM_ARG_VERBOSE) {
- cam_error_print(device, ccb, CAM_ESF_ALL,
- CAM_EPF_ALL, stderr);
- }
-
+ warn("error sending READ DEFECT DATA command");
error = 1;
goto defect_bailout;
}
@@ -5112,7 +5070,7 @@ tagcontrol(struct cam_device *device, int argc, char *
if (cam_send_ccb(device, ccb) < 0) {
- perror("error sending XPT_REL_SIMQ CCB");
+ warn("error sending XPT_REL_SIMQ CCB");
retval = 1;
goto tagcontrol_bailout;
}
@@ -5136,7 +5094,7 @@ tagcontrol(struct cam_device *device, int argc, char *
ccb->ccb_h.func_code = XPT_GDEV_STATS;
if (cam_send_ccb(device, ccb) < 0) {
- perror("error sending XPT_GDEV_STATS CCB");
+ warn("error sending XPT_GDEV_STATS CCB");
retval = 1;
goto tagcontrol_bailout;
}
@@ -5335,9 +5293,6 @@ get_cpi(struct cam_device *device, struct ccb_pathinq
ccb->ccb_h.func_code = XPT_PATH_INQ;
if (cam_send_ccb(device, ccb) < 0) {
warn("get_cpi: error sending Path Inquiry CCB");
- if (arglist & CAM_ARG_VERBOSE)
- cam_error_print(device, ccb, CAM_ESF_ALL,
- CAM_EPF_ALL, stderr);
retval = 1;
goto get_cpi_bailout;
}
@@ -5372,10 +5327,7 @@ get_cgd(struct cam_device *device, struct ccb_getdev *
CCB_CLEAR_ALL_EXCEPT_HDR(&ccb->cgd);
ccb->ccb_h.func_code = XPT_GDEV_TYPE;
if (cam_send_ccb(device, ccb) < 0) {
- warn("get_cgd: error sending Path Inquiry CCB");
- if (arglist & CAM_ARG_VERBOSE)
- cam_error_print(device, ccb, CAM_ESF_ALL,
- CAM_EPF_ALL, stderr);
+ warn("get_cgd: error sending Get type information CCB");
retval = 1;
goto get_cgd_bailout;
}
@@ -5927,10 +5879,7 @@ get_print_cts(struct cam_device *device, int user_sett
ccb->cts.type = CTS_TYPE_USER_SETTINGS;
if (cam_send_ccb(device, ccb) < 0) {
- perror("error sending XPT_GET_TRAN_SETTINGS CCB");
- if (arglist & CAM_ARG_VERBOSE)
- cam_error_print(device, ccb, CAM_ESF_ALL,
- CAM_EPF_ALL, stderr);
+ warn("error sending XPT_GET_TRAN_SETTINGS CCB");
retval = 1;
goto get_print_cts_bailout;
}
@@ -6057,32 +6006,13 @@ ratecontrol(struct cam_device *device, int task_attr,
break;
}
}
- CCB_CLEAR_ALL_EXCEPT_HDR(&ccb->cpi);
/*
* Grab path inquiry information, so we can determine whether
* or not the initiator is capable of the things that the user
* requests.
*/
- ccb->ccb_h.func_code = XPT_PATH_INQ;
- if (cam_send_ccb(device, ccb) < 0) {
- perror("error sending XPT_PATH_INQ CCB");
- if (arglist & CAM_ARG_VERBOSE) {
- cam_error_print(device, ccb, CAM_ESF_ALL,
- CAM_EPF_ALL, stderr);
- }
- retval = 1;
+ if ((retval = get_cpi(device, &cpi)) != 0)
goto ratecontrol_bailout;
- }
- if ((ccb->ccb_h.status & CAM_STATUS_MASK) != CAM_REQ_CMP) {
- warnx("XPT_PATH_INQ CCB failed");
- if (arglist & CAM_ARG_VERBOSE) {
- cam_error_print(device, ccb, CAM_ESF_ALL,
- CAM_EPF_ALL, stderr);
- }
- retval = 1;
- goto ratecontrol_bailout;
- }
- bcopy(&ccb->cpi, &cpi, sizeof(struct ccb_pathinq));
CCB_CLEAR_ALL_EXCEPT_HDR(&ccb->cts);
if (quiet == 0) {
fprintf(stdout, "%s parameters:\n",
@@ -6270,11 +6200,7 @@ ratecontrol(struct cam_device *device, int task_attr,
}
ccb->ccb_h.func_code = XPT_SET_TRAN_SETTINGS;
if (cam_send_ccb(device, ccb) < 0) {
- perror("error sending XPT_SET_TRAN_SETTINGS CCB");
- if (arglist & CAM_ARG_VERBOSE) {
- cam_error_print(device, ccb, CAM_ESF_ALL,
- CAM_EPF_ALL, stderr);
- }
+ warn("error sending XPT_SET_TRAN_SETTINGS CCB");
retval = 1;
goto ratecontrol_bailout;
}
@@ -6508,11 +6434,7 @@ doreport:
* errors are expected.
*/
if (retval < 0) {
- warn("error sending CAMIOCOMMAND ioctl");
- if (arglist & CAM_ARG_VERBOSE) {
- cam_error_print(device, ccb, CAM_ESF_ALL,
- CAM_EPF_ALL, stderr);
- }
+ warn("error sending TEST UNIT READY command");
error = 1;
goto scsiformat_bailout;
}
@@ -6699,11 +6621,7 @@ sanitize_wait_scsi(struct cam_device *device, union cc
* errors are expected.
*/
if (retval < 0) {
- warn("error sending CAMIOCOMMAND ioctl");
- if (arglist & CAM_ARG_VERBOSE) {
- cam_error_print(device, ccb, CAM_ESF_ALL,
- CAM_EPF_ALL, stderr);
- }
+ warn("error sending TEST UNIT READY command");
return (1);
}
@@ -7241,11 +7159,6 @@ retry:
if (cam_send_ccb(device, ccb) < 0) {
warn("error sending REPORT LUNS command");
-
- if (arglist & CAM_ARG_VERBOSE)
- cam_error_print(device, ccb, CAM_ESF_ALL,
- CAM_EPF_ALL, stderr);
-
retval = 1;
goto bailout;
}
@@ -7497,11 +7410,6 @@ scsireadcapacity(struct cam_device *device, int argc,
if (cam_send_ccb(device, ccb) < 0) {
warn("error sending READ CAPACITY command");
-
- if (arglist & CAM_ARG_VERBOSE)
- cam_error_print(device, ccb, CAM_ESF_ALL,
- CAM_EPF_ALL, stderr);
-
retval = 1;
goto bailout;
}
@@ -7544,11 +7452,6 @@ long_only:
if (cam_send_ccb(device, ccb) < 0) {
warn("error sending READ CAPACITY (16) command");
-
- if (arglist & CAM_ARG_VERBOSE)
- cam_error_print(device, ccb, CAM_ESF_ALL,
- CAM_EPF_ALL, stderr);
-
retval = 1;
goto bailout;
}
@@ -9117,7 +9020,7 @@ retry_alloc:
ccb->ccb_h.flags |= CAM_PASS_ERR_RECOVER;
if (cam_send_ccb(device, ccb) < 0) {
- perror("error sending REPORT SUPPORTED OPERATION CODES");
+ warn("error sending REPORT SUPPORTED OPERATION CODES command");
retval = 1;
goto bailout;
}
Modified: stable/11/sbin/camcontrol/persist.c
==============================================================================
--- stable/11/sbin/camcontrol/persist.c Fri Sep 13 14:51:00 2019 (r352288)
+++ stable/11/sbin/camcontrol/persist.c Fri Sep 13 15:13:21 2019 (r352289)
@@ -858,12 +858,6 @@ retry:
if (cam_send_ccb(device, ccb) < 0) {
warn("error sending PERSISTENT RESERVE %s", (in != 0) ?
"IN" : "OUT");
-
- if (verbosemode != 0) {
- cam_error_print(device, ccb, CAM_ESF_ALL,
- CAM_EPF_ALL, stderr);
- }
-
error = 1;
goto bailout;
}
More information about the svn-src-stable-11
mailing list