On Mon, Feb 24, 2020 at 12:13:40AM -0300, Marcos Paulo de Souza wrote:
> From: Marcos Paulo de Souza <mpdesouza@xxxxxxxx>
>
> Now _require_btrfs_command can also check for subfuntion options, like
> "subvolume delete --subvolid".
>
> Signed-off-by: Marcos Paulo de Souza <mpdesouza@xxxxxxxx>
Ah, this patch has already been applied in previous updates. Please see
2f9b4039253d common/btrfs: Improve _require_btrfs_command
Thanks,
Eryu
> ---
> Changes from v2:
> * Added Reviewed-by from Nikolay to patch 0001
>
> Changes from v1:
> * New patch expanding the funtionality of _require_btrfs_command, which now
> check for argument of subcommands
>
> common/btrfs | 13 +++++++++++--
> 1 file changed, 11 insertions(+), 2 deletions(-)
>
> diff --git a/common/btrfs b/common/btrfs
> index 19ac7cc4..ae3142b6 100644
> --- a/common/btrfs
> +++ b/common/btrfs
> @@ -12,12 +12,14 @@ _btrfs_get_subvolid()
>
> # _require_btrfs_command <command> [<subcommand>|<option>]
> # We check for btrfs and (optionally) features of the btrfs command
> -# It can both subfunction like "inspect-internal dump-tree" and
> -# options like "check --qgroup-report"
> +# This function support both subfunction like "inspect-internal dump-tree" and
> +# options like "check --qgroup-report", and also subfunction options like
> +# "subvolume delete --subvolid"
> _require_btrfs_command()
> {
> local cmd=$1
> local param=$2
> + local param_arg=$3
> local safe_param
>
> _require_command "$BTRFS_UTIL_PROG" btrfs
> @@ -39,6 +41,13 @@ _require_btrfs_command()
>
> $BTRFS_UTIL_PROG $cmd $param --help &> /dev/null
> [ $? -eq 0 ] || _notrun "$BTRFS_UTIL_PROG too old (must support $cmd $param)"
> +
> + test -z "$param_arg" && return
> +
> + # replace leading "-"s for grep
> + safe_param=$(echo $param_arg | sed 's/^-*//')
> + $BTRFS_UTIL_PROG $cmd $param --help | grep -wq $safe_param || \
> + _notrun "$BTRFS_UTIL_PROG too old (must support $cmd $param $param_arg)"
> }
>
> # Require extra check on btrfs qgroup numbers
> --
> 2.25.0
>