Skip Navigation Links | |
Exit Print View | |
Sun QFS and Sun Storage Archive Manager 5.3 Reference Manual Sun QFS and Sun Storage Archive Manager 5.3 Information Library |
1. User Commands (Man Pages Section 1)
2. Maintenance Commands (Man Pages Section 1M)
3. Library Functions (Man Pages Section 3)
4. Library Functions (Man Pages Section 3X)
5. File Formats (Man Pages Section 4)
NAME sefsysevent - SEF sysevent SYNOPSIS /etc/sysevent/config/SUNW,SUNWsamfs,Device,sysevent.conf AVAILABILITY SUNWsamfs DESCRIPTION In SAM-QFS environments, tape drive SCSI log sense error counter pages 2 and 3 for media analysis are available to the user via a Solaris sysevent. SEF (System Error Facility) sysevents are enabled by default with a default polling interval of once before unload. SEF sysevents behavior is controlled by defaults.conf and samset. How to add a sysevent handler for SEF sysevents: A simple SEF sysevent handler should be executable and may look like this: #!/bin/ksh echo "$@" >> /var/tmp/xx.dat exit 0 To add the SEF sysevent handler to the syseventd(1M): # syseventadm add -vSUNW -pSUNWsamfs -cDevice -sSEF /var/tmp/xx \"\$VENDOR\" \"\$PRODUCT\" \"\$USN\" \"\$REV\" \$TOD \$EQ_ORD \"\$NAME\" \$INQ_TYPE \"\$MEDIA_TYPE\" \"\$VSN\" \$LABEL_TIME \$LP2_PC0 \$LP2_PC1 \$LP2_PC2 \$LP2_PC3 \$LP2_PC4 \$LP2_PC5 \$LP2_PC6 \$LP3_PC0 \$LP3_PC1 \$LP3_PC2 \$LP3_PC3 \$LP3_PC4 \$LP3_PC5 \$LP3_PC6 \$WHERE \$sequence The syseventadm(1M) add command above creates the /etc/sysevent/config/SUNW,SUNWsamfs,Device,sysevent.conf file and a path to your SEF sysevent handler /var/tmp/xx. Note the double quotes are required when using the syseventadm(1M) command because the strings can be empty and the data is positional. To load the SEF sysevent handler: # syseventadm restart SEF sysevent event handler data looks like this: # cat /var/tmp/xx.dat "HP " "Ultrium 2-SCSI " "HUL2M00585" "F45H" 1094048112 82 "/dev/rmt/2cbn" 0x1 "li" "000750" 1091738029 0x0 0x0 0x0 0x0 0x0 0x70b1 0x0 0x0 0x0 0x0 0x322 0x322 0x4645 0x0 0x1 0x282 "HP " "Ultrium 2-SCSI " "HUL2M00617" "F5AH" 1094048116 81 "/dev/rmt/1cbn" 0x1 "li" "NAB975" 1092691221 0x0 0x0 0x0 0x0 0x0 0x35c 0x0 0x0 0x0 0x0 0x0 0x0 0x4a 0x0 0x1 0x283 A C language program to convert time of day $TOD and $LABEL_TIME sysevent macros from digits to text: #include <stdio.h> #include <sys/types.h> #include <stdlib.h> #include <time.h> void main(int argc, char **argv) { char str[100]; time_t tm = atol(argv[1]); cftime(str, "%C", "tm); printf("%s0, str); } The complied sefsysevent_time program then can be used to determine the label time of $VSN 000750. # ./sefsysevent_time 1091738029 Thu Aug 5 14:33:49 MDT 2004 To change the default polling cycle from once at unload to once every five minutes use: # samset sef all on 300 # samset device 80: tapealert on and supported, sef not applicable device 81: tapealert on and supported, sef on and supported 300s device 82: tapealert on and supported, sef on and supported 300s device 90: tapealert on and supported, sef on and supported 300s Or use /etc/opt/SUNWsamfs/defaults.conf to change the default behavior: # cat defaults.conf sef=all on 300 The SEF sysevent macros are available in the /opt/SUNWsamfs/include/sefvals.h file. The following is a description of the variables: Field Value Class Device Subclass SEF Vendor SUNW Publisher SUNWsamfs SEF sysevent handler macros about SAM-QFS configuration and the SCSI Log Sense Error Counters for pages 2 and 3 and parameters 0-6. Name Value and Data Type VENDOR Inquiry vendor. Data type is string. PRODUCT Inquiry product. Data type is string. REV Inquiry revision. Data type is string. USN Inquiry unit serial number. Data type is string. TOD Time of day. Data type is int32. EQ_ORD mcf file Equipment Number. Data type is int16. NAME Device name. Data type is string. VERSION Inquiry version. Data type is byte. INQ_TYPE Inquiry peripheral device type. Data type is byte. MEDIA_TYPE SAM-QFS media type. Data type is string. VSN Volume serial name. Data type is string. LABEL_TIME VSN label timestamp. Data type is integer. SET mcf file Family Set. Data type is string. FSEQ mcf file Family Set Equipment Number. Data type is int16. WHERE SEF location poll=1 or unload=0. Data type is byte. Write log sense page 2: Name Value and Data Type LP2_PC0 Errors corrected without substantial delay. Data type is uint32. LP2_PC1 Errors corrected with possible delays. Data type is uint32. LP2_PC2 Total rewrites. Data type is uint32. LP2_PC3 Total errors corrected. Data type is uint32. LP2_PC4 Total times correction algorithm processed. Data type is uint32. LP2_PC5 Total bytes processed. Data type is uint64. LP2_PC6 Total uncorrected errors. Data type is uint32. Read log sense page 3: Name Value and Data Type LP3_PC0 Errors corrected without substantial delay. Data type is uint32. LP3_PC1 Errors corrected with possible delays. Data type is uint32. LP3_PC2 Total rereads. Data type is uint32. LP3_PC3 Total errors corrected. Data type is uint32. LP3_PC4 Total times correction algorithm processed. Data type is uint32. LP3_PC5 Total bytes processed. Data type is uint64. LP3_PC6 Total uncorrected errors. Data type is uint32. To do simple media analysis, the captured sef data in the /var/tmp/xx.dat file can be formatted for StarOffice spreadsheet analysis and graphing. SEE ALSO samset(1M), defaults.conf(4), sefdata(4), sefreport(1M), tapealert(1M).