Make "Retrying Command" to be printed before actual retrying.

It should make debug/error log a bit more readable.
This commit is contained in:
Alexander Motin 2009-10-23 13:39:30 +00:00
parent 0d3d0d74ea
commit 0f3e215954

View File

@ -1767,16 +1767,27 @@ cam_periph_error(union ccb *ccb, cam_flags camflags,
break;
}
/*
* If we have and error and are booting verbosely, whine
* *unless* this was a non-retryable selection timeout.
*/
if (error != 0 && bootverbose &&
!(status == CAM_SEL_TIMEOUT && (camflags & CAM_RETRY_SELTO) == 0)) {
if (error != ERESTART) {
if (action_string == NULL)
action_string = "Unretryable Error";
xpt_print(ccb->ccb_h.path, "error %d\n", error);
xpt_print(ccb->ccb_h.path, "%s\n", action_string);
} else
xpt_print(ccb->ccb_h.path, "Retrying Command\n");
}
/* Attempt a retry */
if (error == ERESTART || error == 0) {
if (error == ERESTART || error == 0) {
if (frozen != 0)
ccb->ccb_h.status &= ~CAM_DEV_QFRZN;
if (error == ERESTART) {
action_string = "Retrying Command";
if (error == ERESTART)
xpt_action(ccb);
}
if (frozen != 0)
cam_release_devq(ccb->ccb_h.path,
relsim_flags,
@ -1785,21 +1796,5 @@ cam_periph_error(union ccb *ccb, cam_flags camflags,
/*getcount_only*/0);
}
/*
* If we have and error and are booting verbosely, whine
* *unless* this was a non-retryable selection timeout.
*/
if (error != 0 && bootverbose &&
!(status == CAM_SEL_TIMEOUT && (camflags & CAM_RETRY_SELTO) == 0)) {
if (action_string == NULL)
action_string = "Unretryable Error";
if (error != ERESTART) {
xpt_print(ccb->ccb_h.path, "error %d\n", error);
}
xpt_print(ccb->ccb_h.path, "%s\n", action_string);
}
return (error);
}