fio icon indicating copy to clipboard operation
fio copied to clipboard

Running fio on zfs pool with terse omits last couples of columns output

Open mmoole opened this issue 2 years ago • 2 comments

Please acknowledge the following before creating a ticket

  • [y] I have read the GitHub issues section of REPORTING-BUGS.

Description of the bug: Running fio on a file on a zpool or not gives different output when set to terse:

$ sudo fio --randrepeat=1 --ioengine=libaio --direct=1 --gtod_reduce=1 --name=test --bs=4k --iodepth=64 --readwrite=randrw --rwmixread=75 --size=100M --filename=fiotestfile --output-format=terse --terse-version=3
3;fio-3.27;test;0;0;76932;118356;29589;650;0;0;0.000000;0.000000;0;0;0.000000;0.000000;0%=0;0%=0;0%=0;0%=0;0%=0;0%=0;0%=0;0%=0;0%=0;0%=0;0%=0;0%=0;0%=0;0%=0;0%=0;0%=0;0%=0;0%=0;0%=0;0%=0;0;0;0.000000;0.000000;120632;120632;100.000000%;120632.000000;0.000000;25468;39181;9795;650;0;0;0.000000;0.000000;0;0;0.000000;0.000000;0%=0;0%=0;0%=0;0%=0;0%=0;0%=0;0%=0;0%=0;0%=0;0%=0;0%=0;0%=0;0%=0;0%=0;0%=0;0%=0;0%=0;0%=0;0%=0;0%=0;0;0;0.000000;0.000000;40136;40136;100.000000%;40136.000000;0.000000;2.465331%;43.297381%;8342;0;8;0.1%;0.1%;0.1%;0.1%;0.1%;0.1%;99.8%;0.00%;0.00%;0.00%;0.00%;0.00%;0.00%;0.00%;0.00%;0.00%;0.00%;0.00%;0.00%;0.00%;0.00%;0.00%;0.00%;0.00%;0.00%;0.00%;0.00%;0.00%;0.00%;sda;14914;4958;17;4;16177;3202;19379;83.03%
$ sudo fio --randrepeat=1 --ioengine=libaio --direct=1 --gtod_reduce=1 --name=test --bs=4k --iodepth=64 --readwrite=randrw --rwmixread=75 --size=100M --filename=/zpoolbench/fiotestfile --output-format=terse --terse-version=3
3;fio-3.27;test;0;0;76932;23102;5775;3330;0;0;0.000000;0.000000;0;0;0.000000;0.000000;0%=0;0%=0;0%=0;0%=0;0%=0;0%=0;0%=0;0%=0;0%=0;0%=0;0%=0;0%=0;0%=0;0%=0;0%=0;0%=0;0%=0;0%=0;0%=0;0%=0;0;0;0.000000;0.000000;18224;25464;96.920902%;22390.666667;2621.473987;25468;7648;1912;3330;0;0;0.000000;0.000000;0;0;0.000000;0.000000;0%=0;0%=0;0%=0;0%=0;0%=0;0%=0;0%=0;0%=0;0%=0;0%=0;0%=0;0%=0;0%=0;0%=0;0%=0;0%=0;0%=0;0%=0;0%=0;0%=0;0;0;0.000000;0.000000;5664;8224;97.175732%;7432.000000;980.083262;0.750976%;14.809252%;13169;0;7;0.1%;0.1%;0.1%;0.1%;0.1%;0.1%;99.8%;0.00%;0.00%;0.00%;0.00%;0.00%;0.00%;0.00%;0.00%;0.00%;0.00%;0.00%;0.00%;0.00%;0.00%;0.00%;0.00%;0.00%;0.00%;0.00%;0.00%;0.00%;0.00%

It seems that fio cannot get a disk name and thus stops outputting data in terse format with the column 'disk_name'. But it would be quite useful to have also this data...

Environment: Linux bla54 5.14.0-162.18.1.el9_1.x86_64 #1 SMP PREEMPT_DYNAMIC Tue Feb 28 03:54:43 EST 2023 x86_64 x86_64 x86_64 GNU/Linux (this is Almalinux 9.1)

fio version: 3.27 (this is the newest as per dnf 🤷), fio-3.34-21-g2d8c2 but without --ioengine=libaio

Reproduction steps

  • install zfs as per https://openzfs.github.io/openzfs-docs/Getting%20Started/RHEL-based%20distro/index.html using dkms
    • using version 2.1.9-1.el9 at the time of writing
    • create zpool on one block device
  • install fio per dnf
  • run above mentioned cli in order to run fio
  • observe output

(edited for adding info regarding zfs version and newer version of fio)

mmoole avatar Apr 07 '23 19:04 mmoole

Disk utilization data is not available for files residing on ZFS pools. The data come from https://www.kernel.org/doc/Documentation/block/stat.txt but there is no single block device that fio can associate with the ZFS pool where the file resides.

The same is true for files residing on btrfs file systems.

Someone could enhance the disk utilization code to accommodate this use case but fio currently lacks this capability.

vincentkfu avatar Apr 10 '23 18:04 vincentkfu

That makes perfect sense, maybe this applies to even more cases like software raid etc... This could be added to the documentation on terse output, I would suggest.

mmoole avatar Apr 15 '23 16:04 mmoole