kdump-lib.sh: Check the output of blkid with sed instead of eval
Previously the output of blkid is not checked. If the output is empty, the eval will report the following error message: /lib/kdump/kdump-lib.sh: eval: line 925: syntax error near unexpected token `;' /lib/kdump/kdump-lib.sh: eval: line 925: `; echo $TYPE' For example, we can observe such a failing when blkid is invoked against a lvm thinpool block device: $ blkid -u filesystem,crypto -o export -- "/dev/block/253\:2" $ echo $? 2 $ udevadm info /dev/block/253\:2|grep S\: S: mapper/vg00-thinpoll_tmeta In this patch, we will use sed instead of eval, to output the fstype of block device if any. Signed-off-by: Tao Liu <ltao@redhat.com> Reviewed-by: Philipp Rudo <prudo@redhat.com>
This commit is contained in:
parent
59fcb8ae5b
commit
2bbc7512a2
@ -885,7 +885,8 @@ get_luks_crypt_dev()
|
|||||||
|
|
||||||
[[ -b /dev/block/$1 ]] || return 1
|
[[ -b /dev/block/$1 ]] || return 1
|
||||||
|
|
||||||
_type=$(eval "$(blkid -u filesystem,crypto -o export -- "/dev/block/$1"); echo \$TYPE")
|
_type=$(blkid -u filesystem,crypto -o export -- "/dev/block/$1" | \
|
||||||
|
sed -n -E "s/^TYPE=(.*)$/\1/p")
|
||||||
[[ $_type == "crypto_LUKS" ]] && echo "$1"
|
[[ $_type == "crypto_LUKS" ]] && echo "$1"
|
||||||
|
|
||||||
for _x in "/sys/dev/block/$1/slaves/"*; do
|
for _x in "/sys/dev/block/$1/slaves/"*; do
|
||||||
|
Loading…
Reference in New Issue
Block a user