This reverts commit 64e1c93d16
.
https://gitlab.com/cznic/sqlite does not support Solaris.
> build constraints exclude all Go files in /home/runner/work/scrutiny/scrutiny/vendor/modernc.org/libc/errno
related #120
pull/328/head
parent
64e1c93d16
commit
8e05b2e2f8
@ -1,51 +0,0 @@
|
|||||||
package detect
|
|
||||||
|
|
||||||
import (
|
|
||||||
"github.com/analogj/scrutiny/collector/pkg/common/shell"
|
|
||||||
"github.com/analogj/scrutiny/collector/pkg/models"
|
|
||||||
"github.com/jaypipes/ghw"
|
|
||||||
"strings"
|
|
||||||
)
|
|
||||||
|
|
||||||
func DevicePrefix() string {
|
|
||||||
return "/dev/"
|
|
||||||
}
|
|
||||||
|
|
||||||
func (d *Detect) Start() ([]models.Device, error) {
|
|
||||||
d.Shell = shell.Create()
|
|
||||||
// call the base/common functionality to get a list of devices
|
|
||||||
detectedDevices, err := d.SmartctlScan()
|
|
||||||
if err != nil {
|
|
||||||
return nil, err
|
|
||||||
}
|
|
||||||
|
|
||||||
//inflate device info for detected devices.
|
|
||||||
for ndx, _ := range detectedDevices {
|
|
||||||
d.SmartCtlInfo(&detectedDevices[ndx]) //ignore errors.
|
|
||||||
}
|
|
||||||
|
|
||||||
return detectedDevices, nil
|
|
||||||
}
|
|
||||||
|
|
||||||
//WWN values NVMe and SCSI
|
|
||||||
func (d *Detect) wwnFallback(detectedDevice *models.Device) {
|
|
||||||
block, err := ghw.Block()
|
|
||||||
if err == nil {
|
|
||||||
for _, disk := range block.Disks {
|
|
||||||
if disk.Name == detectedDevice.DeviceName && strings.ToLower(disk.WWN) != "unknown" {
|
|
||||||
d.Logger.Debugf("Found matching block device. WWN: %s", disk.WWN)
|
|
||||||
detectedDevice.WWN = disk.WWN
|
|
||||||
break
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
//no WWN found, or could not open Block devices. Either way, fallback to serial number
|
|
||||||
if len(detectedDevice.WWN) == 0 {
|
|
||||||
d.Logger.Debugf("WWN is empty, falling back to serial number: %s", detectedDevice.SerialNumber)
|
|
||||||
detectedDevice.WWN = detectedDevice.SerialNumber
|
|
||||||
}
|
|
||||||
|
|
||||||
//wwn must always be lowercase.
|
|
||||||
detectedDevice.WWN = strings.ToLower(detectedDevice.WWN)
|
|
||||||
}
|
|
Loading…
Reference in new issue