From 6c000b035d6322f5e455975663a37dcd1ad0b8d6 Mon Sep 17 00:00:00 2001 From: Ben Aldrich Date: Fri, 4 Sep 2015 11:51:34 -0600 Subject: [PATCH 1/2] don't fail if cd is not in a drive add used and usedPercent back in --- disk/disk_windows.go | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/disk/disk_windows.go b/disk/disk_windows.go index 928043d..537c73a 100644 --- a/disk/disk_windows.go +++ b/disk/disk_windows.go @@ -41,11 +41,11 @@ func DiskUsage(path string) (*DiskUsageStat, error) { return nil, err } ret = &DiskUsageStat{ - Path: path, - Total: uint64(lpTotalNumberOfBytes), - Free: uint64(lpTotalNumberOfFreeBytes), - // Used: uint64(lpTotalNumberOfBytes) - uint64(lpTotalNumberOfFreeBytes) - // UsedPercent: (float64(lpTotalNumberOfBytes) - float64(lpTotalNumberOfFreeBytes)) / float64(lpTotalNumberOfBytes) * 100 + Path: path, + Total: uint64(lpTotalNumberOfBytes), + Free: uint64(lpTotalNumberOfFreeBytes), + Used: uint64(lpTotalNumberOfBytes) - uint64(lpTotalNumberOfFreeBytes), + UsedPercent: (float64(lpTotalNumberOfBytes) - float64(lpTotalNumberOfFreeBytes)) / float64(lpTotalNumberOfBytes) * 100, // InodesTotal: 0, // InodesFree: 0, // InodesUsed: 0, @@ -55,6 +55,7 @@ func DiskUsage(path string) (*DiskUsageStat, error) { } func DiskPartitions(all bool) ([]DiskPartitionStat, error) { + fmt.Println("IN DISK PARTITIONS") var ret []DiskPartitionStat lpBuffer := make([]byte, 254) diskret, _, err := procGetLogicalDriveStringsW.Call( @@ -93,6 +94,9 @@ func DiskPartitions(all bool) ([]DiskPartitionStat, error) { uintptr(unsafe.Pointer(&lpFileSystemNameBuffer[0])), uintptr(len(lpFileSystemNameBuffer))) if driveret == 0 { + if typeret == 5 { + continue //device is not ready will happen if there is no disk in the drive + } return ret, err } opts := "rw" From 0fab61e73ead868c2ca62835297417ca0dd7c0b0 Mon Sep 17 00:00:00 2001 From: Ben Aldrich Date: Fri, 4 Sep 2015 13:41:08 -0600 Subject: [PATCH 2/2] remove log message --- disk/disk_windows.go | 1 - 1 file changed, 1 deletion(-) diff --git a/disk/disk_windows.go b/disk/disk_windows.go index 537c73a..1b2252f 100644 --- a/disk/disk_windows.go +++ b/disk/disk_windows.go @@ -55,7 +55,6 @@ func DiskUsage(path string) (*DiskUsageStat, error) { } func DiskPartitions(all bool) ([]DiskPartitionStat, error) { - fmt.Println("IN DISK PARTITIONS") var ret []DiskPartitionStat lpBuffer := make([]byte, 254) diskret, _, err := procGetLogicalDriveStringsW.Call(