_blkzone_module()
{
	local cur prev OPTS
	COMPREPLY=()
	cur="${COMP_WORDS[COMP_CWORD]}"
	prev="${COMP_WORDS[COMP_CWORD-1]}"
	case $prev in
		'-o'|'--offset')
			COMPREPLY=( $(compgen -W "sector" -- $cur) )
			return 0
			;;
		'-l'|'--length')
			COMPREPLY=( $(compgen -W "size" -- $cur) )
			return 0
			;;
		'-c'|'--count')
			COMPREPLY=( $(compgen -W "number" -- $cur) )
			return 0
			;;
		'-h'|'--help'|'-V'|'--version')
			return 0
			;;
	esac
	case $cur in
		-*)
			case $prev in
				'report'|'reset')
					OPTS="--verbose --offset --length --count"
					;;
				*)
					OPTS="--help --version"
					;;
			esac
			COMPREPLY=( $(compgen -W "${OPTS[*]}" -- $cur) )
			return 0
			;;
		*)
			case $prev in
				'report'|'reset')
					;;
				*)
					OPTS="report reset"
					COMPREPLY=( $(compgen -W "${OPTS[*]}" -- $cur) )
					;;
			esac
			return 0
			;;
	esac
	COMPREPLY=( $(compgen -W "$(lsblk -pnro name)" -- $cur) )
	return 0
}
complete -F _blkzone_module blkzone
