add NVMe drive info [model num, serial num, drive temp. etc.] (#10613)

* add NVMe drive info [model num, serial num, drive temp. etc.]
* Ignore fuse partitions
* Add the nvme logic only for linux
* Move smart/nvme structs to a separate file

Co-authored-by: wlan0 <sidharthamn@gmail.com>
This commit is contained in:
Shireesh Anjal
2020-10-04 22:48:46 +05:30
committed by GitHub
parent 017954e7ea
commit f1418a50f0
10 changed files with 767 additions and 8 deletions

View File

@@ -1,4 +1,4 @@
// +build !freebsd
// +build linux
/*
* MinIO Cloud Storage, (C) 2020 MinIO, Inc.
@@ -20,6 +20,7 @@
package madmin
import (
smart "github.com/minio/minio/pkg/smart"
diskhw "github.com/shirou/gopsutil/disk"
)
@@ -27,7 +28,16 @@ import (
type ServerDiskHwOBDInfo struct {
Addr string `json:"addr"`
Usage []*diskhw.UsageStat `json:"usages,omitempty"`
Partitions []diskhw.PartitionStat `json:"partitions,omitempty"`
Partitions []PartitionStat `json:"partitions,omitempty"`
Counters map[string]diskhw.IOCountersStat `json:"counters,omitempty"`
Error string `json:"error,omitempty"`
}
// PartitionStat - includes data from both shirou/psutil.diskHw.PartitionStat as well as SMART data
type PartitionStat struct {
Device string `json:"device"`
Mountpoint string `json:"mountpoint,omitempty"`
Fstype string `json:"fstype,omitempty"`
Opts string `json:"opts,omitempty"`
SmartInfo smart.Info `json:"smartInfo,omitempty"`
}

View File

@@ -1,3 +1,5 @@
// +build !linux
/*
* MinIO Cloud Storage, (C) 2020 MinIO, Inc.
*