Add bash completion helpers for the new daxctl-reconfigure-device,
daxctl-online-memory, and daxctl-offline-memory commands.

Cc: Dan Williams <[email protected]>
Signed-off-by: Vishal Verma <[email protected]>
---
 contrib/ndctl | 24 +++++++++++++++++++++---
 1 file changed, 21 insertions(+), 3 deletions(-)

diff --git a/contrib/ndctl b/contrib/ndctl
index cacee2d..680fe6a 100755
--- a/contrib/ndctl
+++ b/contrib/ndctl
@@ -547,7 +547,7 @@ __daxctlcomp()
 
        COMPREPLY=( $( compgen -W "$1" -- "$2" ) )
        for cword in "${COMPREPLY[@]}"; do
-               if [[ "$cword" == @(--region|--dev) ]]; then
+               if [[ "$cword" == @(--region|--dev|--mode) ]]; then
                        COMPREPLY[$i]="${cword}="
                else
                        COMPREPLY[$i]="${cword} "
@@ -572,6 +572,9 @@ __daxctl_comp_options()
                --dev)
                        opts="$(__daxctl_get_devs -i)"
                        ;;
+               --mode)
+                       opts="system-ram devdax"
+                       ;;
                *)
                        return
                        ;;
@@ -582,8 +585,23 @@ __daxctl_comp_options()
 
 __daxctl_comp_non_option_args()
 {
-       # there aren't any commands that accept non option arguments yet
-       return
+       local subcmd=$1
+       local cur=$2
+       local opts
+
+       case $subcmd in
+       reconfigure-device)
+               ;&
+       online-memory)
+               ;&
+       offline-memory)
+               opts="$(__daxctl_get_devs -i) all"
+               ;;
+       *)
+               return
+               ;;
+       esac
+       __daxctlcomp "$opts" "$cur"
 }
 
 __daxctl_main()
-- 
2.20.1

_______________________________________________
Linux-nvdimm mailing list
[email protected]
https://lists.01.org/mailman/listinfo/linux-nvdimm

Reply via email to