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 <[email protected]>
> ---
>  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
> 

Reply via email to