From owner-freebsd-stable@FreeBSD.ORG Mon Dec 24 17:04:33 2007 Return-Path: Delivered-To: freebsd-stable@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 17E8B16A41A; Mon, 24 Dec 2007 17:04:33 +0000 (UTC) (envelope-from avg@icyb.net.ua) Received: from falcon.cybervisiontech.com (falcon.cybervisiontech.com [217.20.163.9]) by mx1.freebsd.org (Postfix) with ESMTP id C3BB213C468; Mon, 24 Dec 2007 17:04:31 +0000 (UTC) (envelope-from avg@icyb.net.ua) Received: from localhost (localhost [127.0.0.1]) by falcon.cybervisiontech.com (Postfix) with ESMTP id 08D5074400C; Mon, 24 Dec 2007 19:04:31 +0200 (EET) X-Virus-Scanned: Debian amavisd-new at falcon.cybervisiontech.com Received: from falcon.cybervisiontech.com ([127.0.0.1]) by localhost (falcon.cybervisiontech.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id DGVUQA0tXted; Mon, 24 Dec 2007 19:04:30 +0200 (EET) Received: from [10.2.1.87] (gateway.cybervisiontech.com.ua [88.81.251.18]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) by falcon.cybervisiontech.com (Postfix) with ESMTP id 7E27B744007; Mon, 24 Dec 2007 19:04:30 +0200 (EET) Message-ID: <476FE69D.3040709@icyb.net.ua> Date: Mon, 24 Dec 2007 19:04:29 +0200 From: Andriy Gapon User-Agent: Thunderbird 2.0.0.9 (X11/20071116) MIME-Version: 1.0 To: freebsd-stable@freebsd.org, freebsd-scsi@freebsd.org References: <476BBCD6.2070804@icyb.net.ua> In-Reply-To: <476BBCD6.2070804@icyb.net.ua> Content-Type: multipart/mixed; boundary="------------060205080807050008050802" Cc: Jeremy Messenger Subject: Re: reduce verboseness for certain scsi error X-BeenThere: freebsd-stable@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Production branch of FreeBSD source code List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 24 Dec 2007 17:04:33 -0000 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--