Hi,

For the most part, I've stopped using job files and use a script to 
write/execute a fio command line. I do end up with hideously-long command lines 
(>1100 chars), but can stash all the parameters in the script or included file 
and easily iterate over certain ones.

I start with things like this:
set FioCmd { \
/var/tmp/fio --create_serialize=0 --time_based  --norandommap 
--ioengine=solarisaio --minimal \
--randrepeat=0 --fill_device=1 --iodepth=32 --group_reporting --ramp_time=0 
--unlink=0 --overwrite=1 \
--size=${SIZE} --rw=${DIR} --bs=${BS} --ba=${BS}  --runtime=${RUNTIME} }

and 

set FioJobs { \
--name=file__0  --filename=/${MNT}/${PN}/${HN}/fiofile.0  --name=file__1 
--filename=/${MNT}/${PN}/${HN}/fiofile.1 \
--name=file__2  --filename=/${MNT}/${PN}/${HN}/fiofile.2  --name=file__3 
--filename=/${MNT}/${PN}/${HN}/fiofile.3 \
--name=file__4  --filename=/${MNT}/${PN}/${HN}/fiofile.4  --name=file__5 
--filename=/${MNT}/${PN}/${HN}/fiofile.5 \
--name=file__6  --filename=/${MNT}/${PN}/${HN}/fiofile.6  --name=file__7 
--filename=/${MNT}/${PN}/${HN}/fiofile.7 \
--name=file__8  --filename=/${MNT}/${PN}/${HN}/fiofile.8  --name=file__9 
--filename=/${MNT}/${PN}/${HN}/fiofile.9 \
--name=file__10 --filename=/${MNT}/${PN}/${HN}/fiofile.10 --name=file__11 
--filename=/${MNT}/${PN}/${HN}/fiofile.11 }

do variable substitution, bolt on a "--output", and exec the entire string:

set cmdstring [ concat \
    exec -- ssh "${uname}@${thisclient}" [subst ${FioCmd}] \
    [subst $OPTS]  \
    --output ${outDataDir}/${filetag}-${thisclient}.fio \
    [subst $FioJobs] & ]
}

There's a bit more magic involved to run multiple instances at once.

(This, of course, didn't actually answer the OP's question.)

z!

N�����r��y����b�X��ǧv�^�)޺{.n�+���������ܨ}���Ơz�&j:+v�������zZ+��+zf���h���~����i���z��w���?�����&�)ߢf

Reply via email to