scsi_errmsg man page on SunOS

Man page or keyword search:  
man Server   20652 pages
apropos Keyword Search (all sections)
Output format
SunOS logo
[printable version]

scsi_errmsg(9F)		 Kernel Functions for Drivers	       scsi_errmsg(9F)

NAME
       scsi_errmsg - display a SCSI request sense message

SYNOPSIS
       #include <sys/scsi/scsi.h>

       void scsi_errmsg(struct scsi_device *devp, struct scsi_pkt *pktp,
	    char *drv_name, int severity, daddr_t blkno, daddr_t err_blkno,
	    struct scsi_key_strings *cmdlist, struct scsi_extended_sense *sensep);

INTERFACE LEVEL
       Solaris DDI specific (Solaris DDI).

PARAMETERS
       devp	    Pointer to the  scsi_device(9S) structure.

       pktp	    Pointer to a scsi_pkt(9S) structure.

       drv_name	    String used by scsi_log(9F).

       severity	    Error severity level, maps to severity strings below.

       blkno	    Requested block number.

       err_blkno    Error block number.

       cmdlist	    An array of SCSI command description strings.

       sensep	    A pointer to a scsi_extended_sense(9S) structure.

DESCRIPTION
       The  scsi_errmsg() function interprets the request sense information in
       the sensep pointer and generates a standard message that	 is  displayed
       using  scsi_log(9F). The first line of the message is always a CE_WARN,
       with the continuation lines being CE_CONT. sensep may be NULL, in which
       case no sense key or vendor information is displayed.

       The  driver should make the determination as to when to call this func‐
       tion based on the severity of the failure and the severity  level  that
       the driver wants to report.

       The  scsi_device(9S) structure denoted by devp supplies the identifica‐
       tion of the device that requested the display. severity	selects	 which
       string  is  used in the "Error Level:" reporting, according to the fol‐
       lowing table:

	     Severity Value:		       String:

       SCSI_ERR_ALL		     All
       SCSI_ERR_UNKNOWN		     Unknown
       SCSI_ERR_INFO		     Informational
       SCSI_ERR_RECOVERE	     Recovered
       SCSI_ERR_RETRYABL	     Retryable
       SCSI_ERR_FATAL		     Fatal

       blkno is the block number of the original request  that	generated  the
       error.  err_blkno is the block number where the error occurred. cmdlist
       is a mapping table for translating the SCSI command code in pktp to the
       actual command string.

       The cmdlist is described in the structure below:

	 struct scsi_key_strings {
		 int key;
		 char *message;
	 };

       For a basic SCSI disk, the following list is appropriate:

	 static struct scsi_key_strings scsi_cmds[] = {
		 0x00, "test unit ready",
		 0x01, "rezero/rewind",
		 0x03, "request sense",
		 0x04, "format",
		 0x07, "reassign",
		 0x08, "read",
		 0x0a, "write",
		 0x0b, "seek",
		 0x12, "inquiry",
		 0x15, "mode select",
		 0x16, "reserve",
		 0x17, "release",
		 0x18, "copy",
		 0x1a, "mode sense",
		 0x1b, "start/stop",
		 0x1e, "door lock",
		 0x28, "read(10)",
		 0x2a, "write(10)",
		 0x2f, "verify",
		 0x37, "read defect data",
		 0x3b, "write buffer",
		 -1, NULL
	 };

CONTEXT
       The  scsi_errmsg() function may be called from user, interrupt, or ker‐
       nel context.

EXAMPLES
       Example 1 Generating error information.

       This entry:

	 scsi_errmsg(devp, pkt, "sd", SCSI_ERR_INFO, bp->b_blkno,
		  err_blkno, sd_cmds, rqsense);

       Generates:

	 WARNING: /sbus@1,f8000000/esp@0,800000/sd@1,0 (sd1):
	 Error for Command: read Error Level: Informational
	 Requested Block: 23936 Error Block: 23936
	 Vendor: QUANTUM Serial Number: 123456
	 Sense Key:  Unit Attention
	 ASC: 0x29 (reset), ASCQ: 0x0, FRU: 0x0

SEE ALSO
       cmn_err(9F),  scsi_log(9F),  scsi_device(9S),  scsi_extended_sense(9S),
       scsi_pkt(9S)

SunOS 5.10			  16 Jan 2006		       scsi_errmsg(9F)
[top]

List of man pages available for SunOS

Copyright (c) for man pages and the logo by the respective OS vendor.

For those who want to learn more, the polarhome community provides shell access and support.

[legal] [privacy] [GNU] [policy] [cookies] [netiquette] [sponsors] [FAQ]
Tweet
Polarhome, production since 1999.
Member of Polarhome portal.
Based on Fawad Halim's script.
....................................................................
Vote for polarhome
Free Shell Accounts :: the biggest list on the net