mirror of
https://github.com/shirou/gopsutil.git
synced 2025-04-28 13:48:49 +08:00
Revert "Merge pull request #541 from sify21/fix_435"
This reverts commit a9c2f23bc2fcea5d4da58d476a2b2da6cb7fb214, reversing changes made to ebfe800cf98758137226a1e90122a1c0569dd9dd.
This commit is contained in:
parent
9937d4109d
commit
8563278a9d
@ -32,13 +32,6 @@ type Win32_PerfFormattedData struct {
|
|||||||
AvgDisksecPerRead uint64
|
AvgDisksecPerRead uint64
|
||||||
AvgDisksecPerWrite uint64
|
AvgDisksecPerWrite uint64
|
||||||
}
|
}
|
||||||
type win32_DiskDrive struct {
|
|
||||||
DeviceID string
|
|
||||||
SerialNumber string
|
|
||||||
}
|
|
||||||
type win32_DiskPartition struct {
|
|
||||||
DeviceID string
|
|
||||||
}
|
|
||||||
|
|
||||||
const WaitMSec = 500
|
const WaitMSec = 500
|
||||||
|
|
||||||
@ -164,7 +157,7 @@ func IOCountersWithContext(ctx context.Context, names ...string) (map[string]IOC
|
|||||||
continue
|
continue
|
||||||
}
|
}
|
||||||
|
|
||||||
tmpIO := IOCountersStat{
|
ret[d.Name] = IOCountersStat{
|
||||||
Name: d.Name,
|
Name: d.Name,
|
||||||
ReadCount: uint64(d.AvgDiskReadQueueLength),
|
ReadCount: uint64(d.AvgDiskReadQueueLength),
|
||||||
WriteCount: d.AvgDiskWriteQueueLength,
|
WriteCount: d.AvgDiskWriteQueueLength,
|
||||||
@ -173,27 +166,6 @@ func IOCountersWithContext(ctx context.Context, names ...string) (map[string]IOC
|
|||||||
ReadTime: d.AvgDisksecPerRead,
|
ReadTime: d.AvgDisksecPerRead,
|
||||||
WriteTime: d.AvgDisksecPerWrite,
|
WriteTime: d.AvgDisksecPerWrite,
|
||||||
}
|
}
|
||||||
tmpIO.SerialNumber = GetDiskSerialNumber(d.Name)
|
|
||||||
ret[d.Name] = tmpIO
|
|
||||||
}
|
}
|
||||||
return ret, nil
|
return ret, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
// return disk serial number(not volume serial number) of given device or empty string on error. Name of device is drive letter, eg. C:
|
|
||||||
func GetDiskSerialNumber(name string) string {
|
|
||||||
return GetDiskSerialNumberWithContext(context.Background(), name)
|
|
||||||
}
|
|
||||||
|
|
||||||
func GetDiskSerialNumberWithContext(ctx context.Context, name string) string {
|
|
||||||
var diskPart []win32_DiskPartition
|
|
||||||
var diskDrive []win32_DiskDrive
|
|
||||||
err := common.WMIQueryWithContext(ctx, "Associators of {Win32_LogicalDisk.DeviceID='"+name+"'} where AssocClass=Win32_LogicalDiskToPartition", &diskPart)
|
|
||||||
if err != nil || len(diskPart) <= 0 {
|
|
||||||
return ""
|
|
||||||
}
|
|
||||||
err = common.WMIQueryWithContext(ctx, "Associators of {Win32_DiskPartition.DeviceID='"+diskPart[0].DeviceID+"'} where AssocClass=Win32_DiskDriveToDiskPartition", &diskDrive)
|
|
||||||
if err != nil || len(diskDrive) <= 0 {
|
|
||||||
return ""
|
|
||||||
}
|
|
||||||
return diskDrive[0].SerialNumber
|
|
||||||
}
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user