btrfs-progs: completion: use _filedir to replace _btrfs_devs

For developers it's pretty common to call "btrfs check" on a raw image
dump other than real block device.  It's also possible to end users to
do some tests on loop devices.

So current _btrfs_devs() is really making things worse. Use _filedir()
to replace _btrfs_devs() so it can complete any filenames, no matter if
it's just a file or a real block device.

Signed-off-by: Qu Wenruo <wqu@suse.com>
Signed-off-by: David Sterba <dsterba@suse.com>
master
Qu Wenruo 2018-08-13 14:02:43 +08:00 committed by David Sterba
parent 9f45658fd2
commit 26300de037
1 changed files with 5 additions and 12 deletions

View File

@ -4,13 +4,6 @@
# (http://lists.alioth.debian.org/pipermail/bash-completion-devel/2013-June/004868.html)
# edited by John C F <john.ch.fr at gmail.com> on 2015-02-02
_btrfs_devs()
{
local DEVS
DEVS=''; while read dev; do DEVS+="$dev "; done < <(lsblk -pnro name)
COMPREPLY+=( $( compgen -W "$DEVS" -- "$cur" ) )
}
_btrfs_mnts()
{
local MNTS
@ -68,14 +61,14 @@ _btrfs()
opts="$commands_scrub"
;;
check)
_btrfs_devs
_filedir
return 0
;;
rescue)
opts="$commands_rescue"
;;
restore)
_btrfs_devs
_filedir
return 0
;;
inspect-internal)
@ -120,13 +113,13 @@ _btrfs()
;;
label)
_btrfs_mnts
_btrfs_devs
_filedir
return 0
;;
esac
;;
device|rescue)
_btrfs_devs
_filedir
return 0
;;
inspect-internal)
@ -156,7 +149,7 @@ _btrfs()
return 0
;;
start)
_btrfs_devs
_filedir
return 0
;;
esac