fio icon indicating copy to clipboard operation
fio copied to clipboard

Jobs fail to run in client mode when job specific arguments are only specified outside a job file

Open mrnuke opened this issue 7 years ago • 6 comments
trafficstars

When I specify configuration values via commandline, fio will run the requested tests:

fio --filename=/dev/nvme1n1 --name=blablabla --ioengine=libaio --iodepth=32 --rw=randrw --continue_on_error=1
blablabla: (g=0): rw=randrw, bs=(R) 4096B-4096B, (W) 4096B-4096B, (T) 4096B-4096B, ioengine=libaio, iodepth=32
fio-3.3
Starting 1 process
Jobs: 1 (f=1): [m(1)][0.1%][r=80.2MiB/s,w=81.7MiB/s][r=20.5k,w=20.9k IOPS][eta 06h:19m:33s]

I would expect the same behavior when using the client-server model

[dut] # fio --server 
[client] $ fio --client=g-prime --filename=/dev/nvme1n1 --name=blablabla --ioengine=libaio --iodepth=32 --rw=randrw --continue_on_error=1 
blablabla: (g=0): rw=randrw, bs=(R) 4096B-4096B, (W) 4096B-4096B, (T) 4096B-4096B, 	ioengine=libaio, iodepth=32

However, this doesn't run any tests. It just exits. From the documentation:

$ fio <local-args> --client=<server> <remote-args> <job file(s)>

Which would lead me to believe that putting the same arguments after the --client= directive should produce the same results as with running fio locally. Is this a bug or PEBKAC?

fio-3.3 on both dut and client machines.

mrnuke avatar Jul 19 '18 23:07 mrnuke

@mrnuke this sounds like a duplicate of issue #432 - is that the case?

sitsofe avatar Jul 29 '18 20:07 sitsofe

I don't understand how this would be related to #432

mrnuke avatar Aug 02 '18 23:08 mrnuke

@mrnuke my bad. Do you get a different result if you put all your remote settings into a job file?

sitsofe avatar Aug 03 '18 05:08 sitsofe

fio fiotest.fio --client=g-prime

The following config file doesn't do anything:

[global]
name=blablabla
ioengine=libaio
iodepth=32
rw=randrw
continue_on_error=1
filename=/dev/nvme1n1

The following file does work as expected

[global]
name=blablabla
ioengine=libaio
iodepth=32
rw=randrw
continue_on_error=1
[job0]
filename=/dev/nvme1n1

mrnuke avatar Aug 03 '18 17:08 mrnuke

I have a faint memory of hitting this when I first started using fio years ago but for some reason I made no record of it. I have a feeling that global arguments work as command line parameters but the jobs themselves must be given within a job file when using client mode. I'll retitle this issue to make problem clearer...

sitsofe avatar Aug 03 '18 21:08 sitsofe

Do we have any updates on work to resolve this issue? In running tests I see that this issue is still present in the latest FIO release.

catFurr avatar Nov 02 '21 05:11 catFurr