jaypipes / ghw

Go HardWare discovery/inspection library
Apache License 2.0
1.62k stars 174 forks source link

block.String() output the not accurate cap info of the disk #285

Open poetlife opened 2 years ago

poetlife commented 2 years ago

Here is my code:

package main

import (
    "github.com/jaypipes/ghw"
    "log"
)

    log.Println(block.String())
    for i:=0; i<len(block.Disks);i++{
        log.Println("  ", block.Disks[i].String())
    }

then I got the output:

2021/10/23 00:57:27 block storage (2 disks, 2TB physical storage)
2021/10/23 00:57:27    \\.\PHYSICALDRIVE0 SSD (932GB) IDE [@unknown] vendor=(Standard disk drives) model=TOSHIBA DT01ACA100 serial=50IBH1ZMS
2021/10/23 00:57:27    \\.\PHYSICALDRIVE1 SSD (224GB) IDE [@unknown] vendor=(Standard disk drives) model=WDC WDS240G2G0B-00EPW0 serial=203227454509

Which mean I have 2 disks, and one is 932GB, another is 224GB, so WHY does the overall info show 2TB. Seems the accuracy is too low.

ffromani commented 2 years ago

Hi @poetlife ! the accuracy is indeed too low. It should be in GBs - not in TBs. On the bright side, only the string representation should have low accuracy. The data stored in block.Info should be accurate.