Message ID | 20190110093725.32675-5-shinichiro.kawasaki@wdc.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | Implement zoned block device support | expand |
On Thu, Jan 10, 2019 at 06:37:13PM +0900, Shin'ichiro Kawasaki wrote: > Fio zbd zone mode is necessary for zoned block devices. Introduce the > helper function _have_fio_zbd_zonemode() to check that the installed > fio version supports the option --zonemode=zbd. Testing version numbers is fragile. How about if ! fio --cmdhelp=zonemode | grep -q zbd; then SKIP_REASON="Fio version too old (does not support --zonemode=zbd)" return 1 fi > Signed-off-by: Shin'ichiro Kawasaki <shinichiro.kawasaki@wdc.com> > --- > common/fio | 12 ++++++++++++ > 1 file changed, 12 insertions(+) > > diff --git a/common/fio b/common/fio > index e407088..44d9c86 100644 > --- a/common/fio > +++ b/common/fio > @@ -17,6 +17,18 @@ _have_fio() { > return 0 > } > > +_have_fio_zbd_zonemode() { > + local -a v > + > + _have_fio || return $? > + mapfile -t v < <(fio --version | tr -s -c "[:digit:]" "\n") > + if [[ ${v[1]} -lt 3 || ( ${v[1]} -eq 3 && ${v[2]} -lt 9 ) ]]; then > + SKIP_REASON="Fio version too old (does not support --zonemode=zbd)" > + return 1 > + fi > + return 0 > +} > + > declare -A FIO_TERSE_FIELDS > FIO_TERSE_FIELDS=( > # Read status > -- > 2.20.1 >
On 1/17/19 11:23 AM, Omar Sandoval wrote: > On Thu, Jan 10, 2019 at 06:37:13PM +0900, Shin'ichiro Kawasaki wrote: >> Fio zbd zone mode is necessary for zoned block devices. Introduce the >> helper function _have_fio_zbd_zonemode() to check that the installed >> fio version supports the option --zonemode=zbd. > > Testing version numbers is fragile. How about > > if ! fio --cmdhelp=zonemode | grep -q zbd; then > SKIP_REASON="Fio version too old (does not support --zonemode=zbd)" > return 1 > fi OK. Will change as suggested. Thanks!
diff --git a/common/fio b/common/fio index e407088..44d9c86 100644 --- a/common/fio +++ b/common/fio @@ -17,6 +17,18 @@ _have_fio() { return 0 } +_have_fio_zbd_zonemode() { + local -a v + + _have_fio || return $? + mapfile -t v < <(fio --version | tr -s -c "[:digit:]" "\n") + if [[ ${v[1]} -lt 3 || ( ${v[1]} -eq 3 && ${v[2]} -lt 9 ) ]]; then + SKIP_REASON="Fio version too old (does not support --zonemode=zbd)" + return 1 + fi + return 0 +} + declare -A FIO_TERSE_FIELDS FIO_TERSE_FIELDS=( # Read status
Fio zbd zone mode is necessary for zoned block devices. Introduce the helper function _have_fio_zbd_zonemode() to check that the installed fio version supports the option --zonemode=zbd. Signed-off-by: Shin'ichiro Kawasaki <shinichiro.kawasaki@wdc.com> --- common/fio | 12 ++++++++++++ 1 file changed, 12 insertions(+)