How to decode LBOLT numbers

From Wiki-UX.info
Jump to: navigation, search

Abstract

The following briefly explains how to decode LBOLT numbers, to reference a specific hardware. These LBOLT numbers appear most of time when the system is experiencing SCSI errors, and is logging these errors in the /var/adm/syslog/syslog.log file.

Example:

Sep 12 17:07:47 myserver vmunix: SCSI: Unexpected Disconnect -- lbolt: 54063027, dev: bc051000, io_id:5cf6050

In this case the LBOLT number to decode is bc051000 which correspond to the device that is logging the error.

How To Decode LBOLT

In order to decode this LBOLT number, is easier to split it in 5 hex sections.

0x bc 05 10 00
s1 s2 s3 s4 s5

s1:

  • 0x = Designates the remaining as hex and is always there.

s2:

  • bc = This is the hex for the MAJOR number (188) of the SCSI character device
  • 1f = This is the hex for the MAJOR number (31) of the SCSI block device

The remaining numbers (051000) correspond to the MINOR nunmber for the device in hex.

s3:

  • 05 = First pair of MINOR in hex. Hex 05 = Decimal 05 <-Controller number

s4:

  • 10 = Third number of MINOR in hex. Hex 10 = Decimal 16 <- Target number

s5:

  • 00 = Fourth number of MINOR in hex. Hex 00 = Decimal 0 <- Disk number

A quick way to find out the dsf that belongs to a LBOLT code is to drop the MAJOR number from the LBOLT error and search with the "ll" command the disks device special files.

Example:

# ll /dev/*dsk/* | grep 051000
brw-r-----   1 bin        sys         31 0x051000 Jul 25  2006 /dev/dsk/c5t16d0
crw-r-----   1 bin        sys        188 0x051000 Jul 25  2006 /dev/rdsk/c5t16d0

Reference

Authors