Add storage options to bash completion
@@ -139,7 +139,7 @@ __docker_value_of_option() {
local counter=$((command_pos + 1))
while [ $counter -lt $cword ]; do
case ${words[$counter]} in
- $option_glob )
+ @($option_glob) )
echo ${words[$counter + 1]}
break
;;
@@ -519,6 +519,38 @@ _docker_daemon() {
COMPREPLY=( $( compgen -W "aufs btrfs devicemapper overlay vfs zfs" -- "$(echo $cur | tr '[:upper:]' '[:lower:]')" ) )
return
;;
+ --storage-opt)
+ local devicemapper_options="
+ dm.basesize
+ dm.blkdiscard
+ dm.blocksize
+ dm.fs
+ dm.loopdatasize
+ dm.loopmetadatasize
+ dm.mkfsarg
+ dm.mountopt
+ dm.override_udev_sync_check
+ dm.thinpooldev
+ "
+ local zfs_options="zfs.fsname"
+
+ case $(__docker_value_of_option '--storage-driver|-s') in
+ '')
+ COMPREPLY=( $( compgen -W "$devicemapper_options $zfs_options" -S = -- "$cur" ) )
+ ;;
+ devicemapper)
+ COMPREPLY=( $( compgen -W "$devicemapper_options" -S = -- "$cur" ) )
+ ;;
+ zfs)
+ COMPREPLY=( $( compgen -W "$zfs_options" -S = -- "$cur" ) )
+ ;;
+ *)
+ return
+ ;;
+ esac
+ compopt -o nospace
+ return
+ ;;
--log-level|-l)
__docker_log_levels
return
@@ -532,6 +564,25 @@ _docker_daemon() {
;;
esac
+ case "${words[$cword-2]}$prev=" in
+ *dm.blkdiscard=*)
+ COMPREPLY=( $( compgen -W "false true" -- "${cur#=}" ) )
+ return
+ ;;
+ *dm.fs=*)
+ COMPREPLY=( $( compgen -W "ext4 xfs" -- "${cur#=}" ) )
+ return
+ ;;
+ *dm.override_udev_sync_check=*)
+ COMPREPLY=( $( compgen -W "false true" -- "${cur#=}" ) )
+ return
+ ;;
+ *dm.thinpooldev=*)
+ _filedir
+ return
+ ;;
+ esac
+
case "$cur" in
-*)
COMPREPLY=( $( compgen -W "$boolean_options $options_with_args" -- "$cur" ) )
