Hi Mark, On Wed, 24 Oct 2018 at 19:15, Beierl, Mark <Mark.Beierl@xxxxxxxx> wrote: > > Hello, > > I think I’m confusing myself here. When I issue the following job: > > fio --rw=randwrite --name=initialize --direct=1 --size=10m --bs=4k --loops=1 --iodepth=1 --ioengine=libaio > > and then do a hexdump of the output file, I see a lot of empty (0000) data in the file. Shouldn’t the full 10m of the file be filled with random data? > > Sample output: > > hexdump initialize.0.0 | head > 0000000 5000 004b 0000 0000 4000 0091 0000 0000 > 0000010 6000 0022 0000 0000 2000 0034 0000 0000 > 0000020 2000 0061 0000 0000 2000 006c 0000 0000 > 0000030 7000 0019 0000 0000 5000 0049 0000 0000 > 0000040 4000 0079 0000 0000 7000 002e 0000 0000 > 0000050 9000 009d 0000 0000 d000 0090 0000 0000 > 0000060 4000 0028 0000 0000 e000 0095 0000 0000 > 0000070 1000 000c 0000 0000 b000 0004 0000 0000 > 0000080 d000 0000 0000 0000 f000 0009 0000 0000 > 0000090 d000 004f 0000 0000 0000 0018 0000 0000 > > What am I missing? > > fio verision is 2.2.10 Agh, that fio is REALLY old! We (upstream) only support the latest fio (see https://github.com/axboe/fio/releases for what we're up to). I will answer as if you are but be aware there are differences and fixes that have gone in since 2.2.10 so I strongly recommend you upgrade... OK a stab at an answer: as mentioned in the fio help pages / manual (https://fio.readthedocs.io/en/latest/fio_doc.html#cmdoption-arg-refill-buffers ) by default fio will reuse buffer contents after the initial init where possible. If this is not what you want you will need to set additional options (hints: https://fio.readthedocs.io/en/latest/fio_doc.html#cmdoption-arg-refill-buffers , https://fio.readthedocs.io/en/latest/fio_doc.html#cmdoption-arg-scramble-buffers , https://fio.readthedocs.io/en/latest/fio_doc.html#cmdoption-arg-buffer-compress-percentage etc.). -- Sitsofe | http://sucs.org/~sits/