You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Please acknowledge the following before creating a ticket
I have read the GitHub issues section of REPORTING-BUGS.
Description of the bug:
When (byte) sizes are specified with the ki/Mi/Gi/etc units, they are parsed as 10³B/10⁶B/10⁹B when kb_base=1000 rather than the expected 2¹⁰B/2²⁰B/2³⁰B.
Notably, if I change the units to kiB/MiB/GiB instead, then they are parsed correctly as 2¹⁰B/2²⁰B/2³⁰B
It seems like ki/Mi/Gi are being parsed as if they didn't have the "i" suffix at all?
I can see in parse.c:217 that only the cases of (for example k) explicitly accounted for are "kib", "k" and "kb", and it looks like "ki" would be interpreted as "k".
This should be a fairly straightforward fix, and I may try my hand at a pull request for it.
Similar but not quite, this issue is that Ki and KiB are treated differently, while #1396 is about whether or not KiB should ever be interpreted as base 1000 at all.
This issue is clearly unintended, because when would you ever expect that Ki and KiB to represent different units?
Regardless of the decision in #1396 this issue should be fixed to ensure consistency between Ki, KiB and Mi MiB, etc and bring the actual behaviour in line with the documentation which states that the "B" is optional for data units, where it currently is required for EC 80000-13 suffixes like KiB
Please acknowledge the following before creating a ticket
Description of the bug:
When (byte) sizes are specified with the ki/Mi/Gi/etc units, they are parsed as 10³B/10⁶B/10⁹B when
kb_base=1000
rather than the expected 2¹⁰B/2²⁰B/2³⁰B.Notably, if I change the units to kiB/MiB/GiB instead, then they are parsed correctly as 2¹⁰B/2²⁰B/2³⁰B
It seems like ki/Mi/Gi are being parsed as if they didn't have the "i" suffix at all?
Environment:
fio version:
fio-3.35
Reproduction steps
Blocksize incorrectly parsed as 4000B
read-4ki-qd1: (g=0): rw=randread, bs=(R) 4000B-4000B, (W) 4000B-4000B, (T) 4000B-4000B, ioengine=psync, iodepth=1
Blocksize correctly parsed as 4096B:
read-4ki-qd1: (g=0): rw=randread, bs=(R) 4096B-4096B, (W) 4096B-4096B, (T) 4096B-4096B, ioengine=psync, iodepth=1
The text was updated successfully, but these errors were encountered: