diff --git a/pkg/block/block_linux.go b/pkg/block/block_linux.go index 9730f7f8..3c24cf86 100644 --- a/pkg/block/block_linux.go +++ b/pkg/block/block_linux.go @@ -147,6 +147,16 @@ func diskSerialNumber(paths *linuxpath.Paths, disk string) string { return util.UNKNOWN } + // First try to use the serial from sg3_utils + if serial, ok := info["SCSI_IDENT_SERIAL"]; ok { + return serial + } + + // Fall back to ID_SCSI_SERIAL + if serial, ok := info["ID_SCSI_SERIAL"]; ok { + return serial + } + // There are two serial number keys, ID_SERIAL and ID_SERIAL_SHORT The // non-_SHORT version often duplicates vendor information collected // elsewhere, so use _SHORT and fall back to ID_SERIAL if missing...