From c789d113c623e2d162fbb19a87c29ba4518396c6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=B6rg=20Thalheim?= Date: Tue, 3 Sep 2024 13:45:10 +0200 Subject: [PATCH] disk-deactivate: only run zfs command if they are present --- disk-deactivate/disk-deactivate.jq | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/disk-deactivate/disk-deactivate.jq b/disk-deactivate/disk-deactivate.jq index 6e44403..b7c502d 100644 --- a/disk-deactivate/disk-deactivate.jq +++ b/disk-deactivate/disk-deactivate.jq @@ -1,7 +1,7 @@ # since lsblk lacks zfs support, we have to do it this way def remove: if .fstype == "zfs_member" then - "zpool destroy -f \(.label)" + "if type zpool >/dev/null; then zpool destroy -f \(.label); fi" elif .fstype == "LVM2_member" then [ "vg=$(pvs \(.path) --noheadings --options vg_name | grep -o '[a-zA-Z0-9-]*')", @@ -14,7 +14,7 @@ def remove: # maybe its zfs [ # the next line has some horrible escaping - "zpool=$(zdb -l \(.path) | sed -nr $'s/ +name: \\'(.*)\\'/\\\\1/p')", + "zpool=$(if type zdb >/dev/null; then zdb -l \(.path) | sed -nr $'s/ +name: \\'(.*)\\'/\\\\1/p') else echo ""; fi", "if [[ -n \"${zpool}\" ]]; then zpool destroy -f \"$zpool\"; fi", "unset zpool" ]