_swapoff_module()
{
	local cur prev OPTS
	COMPREPLY=()
	cur="${COMP_WORDS[COMP_CWORD]}"
	prev="${COMP_WORDS[COMP_CWORD-1]}"
	case $prev in
		'-a'|'--all')
			return 0
			;;
		'-U'|'UUID=')
			COMPREPLY=( $(compgen -W "$(swapon --show=UUID --noheading)" -- $cur) )
			return 0
			;;
		'-L'|'LABEL=')
			COMPREPLY=( $(compgen -W "$(swapon --show=LABEL --noheading)" -- $cur) )
			return 0
			;;
		'-h'|'--help'|'-V'|'--version')
			return 0
			;;
	esac
	case $cur in
		-*)
			OPTS="-L
				-U
				--all
				--verbose
				--help
				--version"
			COMPREPLY=( $(compgen -W "${OPTS[*]}" -- $cur) )
			return 0
			;;
	esac
	COMPREPLY=( $(compgen -W "$(swapon --show=NAME --raw --noheading)" -- $cur) )
	return 0
}
complete -F _swapoff_module swapoff
