Date: Mon, 24 Dec 2007 19:04:29 +0200 From: Andriy Gapon <avg@icyb.net.ua> To: freebsd-stable@freebsd.org, freebsd-scsi@freebsd.org Cc: Jeremy Messenger <mezz7@cox.net> Subject: Re: reduce verboseness for certain scsi error Message-ID: <476FE69D.3040709@icyb.net.ua> In-Reply-To: <476BBCD6.2070804@icyb.net.ua> References: <476BBCD6.2070804@icyb.net.ua>
next in thread | previous in thread | raw e-mail | index | archive | help
This is a multi-part message in MIME format. --------------060205080807050008050802 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit Attached is a proposed patch. I am not particularly fond of the names. I am also not sure if the same effect could be achieved by some better means. The patch works for me and greatly reduces messages pollution when using a multi-slot card-reader and hald. P.S. the patch is against sources of 6.2 release. -- Andriy Gapon --------------060205080807050008050802 Content-Type: text/x-patch; name="verboseness.diff" Content-Transfer-Encoding: 7bit Content-Disposition: inline; filename="verboseness.diff" --- sys/cam/scsi/scsi_all.h.orig Fri Dec 21 17:52:50 2007 +++ sys/cam/scsi/scsi_all.h Fri Dec 21 17:57:29 2007 @@ -90,6 +90,7 @@ typedef enum { * and text. */ SSQ_PRINT_SENSE = 0x0800, + SSQ_PRINT_SENSE_VERBOSE = 0x1000, SSQ_MASK = 0xff00 } scsi_sense_action_qualifier; @@ -104,6 +105,12 @@ typedef enum { /* Fatal error action, with table specified error code */ #define SS_FATAL SS_FAIL|SSQ_PRINT_SENSE + +/* Fatal error action, with table specified error code */ +/* This type of error doesn't imply malfunction of hardware and + * and indicates conditions that can occur in "normal" circumstances + */ +#define SS_FATAL_NORMAL SS_FAIL|SSQ_PRINT_SENSE_VERBOSE struct scsi_generic { --- sys/cam/scsi/scsi_all.c.orig Fri Dec 21 17:54:50 2007 +++ sys/cam/scsi/scsi_all.c Fri Dec 21 17:55:52 2007 @@ -1197,7 +1197,7 @@ static struct asc_table_entry asc_table[ "Rounded parameter") }, /* DTL WRSOMCAE */{SST(0x39, 0x00, SS_RDEF, "Saving parameters not supported") }, -/* DTL WRSOM */{SST(0x3A, 0x00, SS_FATAL|ENXIO, +/* DTL WRSOM */{SST(0x3A, 0x00, SS_FATAL_NORMAL|ENXIO, "Medium not present") }, /* DT WR OM */{SST(0x3A, 0x01, SS_FATAL|ENXIO, "Medium not present - tray closed") }, @@ -1395,7 +1395,7 @@ static struct asc_table_entry asc_table[ "End of user area encountered on this track") }, /* R */{SST(0x63, 0x01, SS_FATAL|ENOSPC, "Packet does not fit in available space") }, -/* R */{SST(0x64, 0x00, SS_FATAL|ENXIO, +/* R */{SST(0x64, 0x00, SS_FATAL_NORMAL|ENXIO, "Illegal mode for this track") }, /* R */{SST(0x64, 0x01, SS_RDEF, "Invalid packet size") }, --- sys/cam/cam_periph.c.orig Fri Dec 21 17:57:53 2007 +++ sys/cam/cam_periph.c Fri Dec 21 18:00:13 2007 @@ -1515,7 +1515,8 @@ camperiphscsisenseerror(union ccb *ccb, } sense_error_done: - if ((err_action & SSQ_PRINT_SENSE) != 0 + if (((err_action & SSQ_PRINT_SENSE) != 0 + || ((err_action & SSQ_PRINT_SENSE_VERBOSE) != 0 && bootverbose)) && (ccb->ccb_h.status & CAM_AUTOSNS_VALID) != 0) { cam_error_print(print_ccb, CAM_ESF_ALL, CAM_EPF_ALL); xpt_print_path(ccb->ccb_h.path); --------------060205080807050008050802--
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?476FE69D.3040709>