XL total/free space calculation is done inside xl module (#2945)

This commit is contained in:
Anis Elleuch 2016-10-16 22:24:15 +01:00 committed by Harshavardhana
parent a681af6953
commit 334cdb5d64
3 changed files with 7 additions and 11 deletions

View file

@ -133,13 +133,9 @@ func printObjectAPIMsg() {
// Get formatted disk/storage info message.
func getStorageInfoMsg(storageInfo StorageInfo) string {
freeSpace := uint64(storageInfo.Free)
totalSpace := uint64(storageInfo.Total)
if storageInfo.Backend.Type == XL {
freeSpace /= 2
totalSpace /= 2
}
msg := fmt.Sprintf("%s %s Free, %s Total", colorBlue("Drive Capacity:"), humanize.IBytes(freeSpace), humanize.IBytes(totalSpace))
msg := fmt.Sprintf("%s %s Free, %s Total", colorBlue("Drive Capacity:"),
humanize.IBytes(uint64(storageInfo.Free)),
humanize.IBytes(uint64(storageInfo.Total)))
diskInfo := fmt.Sprintf(" %d Online, %d Offline. We can withstand [%d] more drive failure(s).",
storageInfo.Backend.OnlineDisks,
storageInfo.Backend.OfflineDisks,

View file

@ -39,8 +39,8 @@ func TestStorageInfoMsg(t *testing.T) {
}{XL, 7, 1, 4, 5},
}
if msg := getStorageInfoMsg(infoStorage); !strings.Contains(msg, "1.0 GiB Free, 5.0 GiB Total") || !strings.Contains(msg, "7 Online, 1 Offline") {
t.Fatal("Empty message string is not implemented", msg)
if msg := getStorageInfoMsg(infoStorage); !strings.Contains(msg, "2.0 GiB Free, 10 GiB Total") || !strings.Contains(msg, "7 Online, 1 Offline") {
t.Fatal("Unexpected storage info message, found:", msg)
}
}

View file

@ -208,8 +208,8 @@ func getStorageInfo(disks []StorageAPI) StorageInfo {
// Free as the total aggregated values. Total capacity is always
// the multiple of smallest disk among the disk list.
storageInfo := StorageInfo{
Total: disksInfo[0].Total * int64(onlineDisks),
Free: disksInfo[0].Free * int64(onlineDisks),
Total: disksInfo[0].Total * int64(onlineDisks) / 2,
Free: disksInfo[0].Free * int64(onlineDisks) / 2,
}
storageInfo.Backend.Type = XL
storageInfo.Backend.OnlineDisks = onlineDisks