Package: fio
Version: 2.16-1
Severity: minor
Tags: upstream
The manpage says:
int SI integer: a whole number, possibly containing a suffix denoting
the base unit of the value. Accepted suffixes are `k', 'M', 'G', 'T', and 'P',
denoting kilo
(1024), mega (1024^2), giga (1024^3), tera (1024^4), and peta
(1024^5) respectively. If prefixed with '0x', the value is assumed to be base
16 (hexadecimal). A
suffix may include a trailing 'b', for instance 'kb' is identical
to 'k'. You can specify a base 10 value by using 'KiB', 'MiB','GiB', etc. This
is useful for
disk drives where values are often given in base 10 values.
Specifying '30GiB' will get you 30*1000^3 bytes. When specifying times the
default suffix meaning
changes, still denoting the base unit of the value, but accepted
suffixes are 'D' (days), 'H' (hours), 'M' (minutes), 'S' Seconds, 'ms' (or
msec) milli seconds,
'us' (or 'usec') micro seconds. Time values without a unit
specify seconds. The suffixes are not case sensitive.
This is just the opposite of what ISQ (ISO/IEC 80000 ; ISO 80000-1) states:
https://en.wikipedia.org/wiki/Binary_prefix#Adoption_by_IEC.2C_NIST_and_ISO
So it should use:
10^3 = k (or K) = kilo- = KB = kilobyte
10^6 = M = mega-
10^9 = G = giga-
...etc...
while
2^10 = Ki = kibi- = KiB = kibibyte
2^20 = Mi = mebi- = MiB
2^30 = Gi = gibi- = GiB
...etc...
It is possible that upstream doesn't dare to change and break all the scripts
out there, I have ideas how to
do it but I believe they prefer their own solutions. :-)