2024-02-05 12:54:07 +00:00
|
|
|
commit bca0e7a92af16cb7fb82ef04401cdb3286068081
|
|
|
|
Merge: d2d2300b f36bfe9b
|
|
|
|
Author: pcahyna <pcahyna@users.noreply.github.com>
|
|
|
|
Date: Thu Jul 28 12:11:04 2022 +0200
|
2024-02-02 08:27:32 +00:00
|
|
|
|
2024-02-05 12:54:07 +00:00
|
|
|
Merge pull request #2839 from pcahyna/lvm-y
|
2024-02-02 08:27:32 +00:00
|
|
|
|
2024-02-05 12:54:07 +00:00
|
|
|
Pass -y to lvcreate instead of piping the output of yes
|
2024-02-02 08:27:32 +00:00
|
|
|
|
2024-02-05 12:54:07 +00:00
|
|
|
diff --git a/usr/share/rear/conf/GNU/Linux.conf b/usr/share/rear/conf/GNU/Linux.conf
|
|
|
|
index 82007719..7e47b912 100644
|
|
|
|
--- a/usr/share/rear/conf/GNU/Linux.conf
|
|
|
|
+++ b/usr/share/rear/conf/GNU/Linux.conf
|
|
|
|
@@ -5,7 +5,7 @@ ip
|
|
|
|
less
|
|
|
|
parted
|
|
|
|
readlink
|
|
|
|
-# For noninteractive confirmation in lvm commands during layout recreation
|
|
|
|
+# For noninteractive confirmation in commands
|
|
|
|
yes
|
|
|
|
)
|
|
|
|
|
2024-02-02 08:27:32 +00:00
|
|
|
diff --git a/usr/share/rear/layout/prepare/GNU/Linux/110_include_lvm_code.sh b/usr/share/rear/layout/prepare/GNU/Linux/110_include_lvm_code.sh
|
2024-02-05 12:54:07 +00:00
|
|
|
index 0bd863ac..6089cc09 100644
|
2024-02-02 08:27:32 +00:00
|
|
|
--- a/usr/share/rear/layout/prepare/GNU/Linux/110_include_lvm_code.sh
|
|
|
|
+++ b/usr/share/rear/layout/prepare/GNU/Linux/110_include_lvm_code.sh
|
2024-02-05 12:54:07 +00:00
|
|
|
@@ -287,28 +287,16 @@ create_lvmvol() {
|
|
|
|
# so e.g. 'lvcreate -L 123456b -n LV VG' becomes 'lvcreate -l 100%FREE -n LV VG'
|
|
|
|
fallbacklvopts="$( sed -e 's/-L [0-9b]*/-l 100%FREE/' <<< "$lvopts" )"
|
2024-02-02 08:27:32 +00:00
|
|
|
|
2024-02-05 12:54:07 +00:00
|
|
|
- # In SLES11 "man lvcreate" does not show '-y' or '--yes'
|
|
|
|
- # so we cannot use "lvm lvcreate -y ..."
|
|
|
|
- # see https://github.com/rear/rear/issues/2820#issuecomment-1161934013
|
|
|
|
- # instead we input as many 'y' as asked for by "lvm lvcreate"
|
|
|
|
- # see https://github.com/rear/rear/issues/513
|
|
|
|
- # and https://github.com/rear/rear/issues/2820
|
|
|
|
- # plus be safe against possible 'set -o pipefail' non-zero exit code of 'yes' via '( yes || true ) | ...'
|
|
|
|
- # see https://github.com/rear/rear/issues/2820#issuecomment-1162804476
|
|
|
|
- # because 'yes' may get terminated by SIGPIPE when plain 'yes | ...' is used
|
|
|
|
- # see https://github.com/rear/rear/issues/2820#issuecomment-1162772415
|
|
|
|
- # and suppress needless "yes: standard output: Broken pipe" stderr messages
|
|
|
|
- # that appear at least with newer 'yes' in coreutils-8.32 in openSUSE Leap 15.3
|
|
|
|
cat >> "$LAYOUT_CODE" <<EOF
|
|
|
|
$ifline
|
|
|
|
LogPrint "Creating LVM volume '$vg/$lvname' (some properties may not be preserved)"
|
2024-02-02 08:27:32 +00:00
|
|
|
$warnraidline
|
2024-02-05 12:54:07 +00:00
|
|
|
- if ! ( yes 2>/dev/null || true ) | lvm lvcreate $lvopts $vg ; then
|
|
|
|
- LogPrintError "Failed to create LVM volume '$vg/$lvname' with lvcreate $lvopts $vg"
|
|
|
|
- if ( yes 2>/dev/null || true ) | lvm lvcreate $fallbacklvopts $vg ; then
|
|
|
|
- LogPrintError "Created LVM volume '$vg/$lvname' using fallback options lvcreate $fallbacklvopts $vg"
|
|
|
|
+ if ! lvm lvcreate -y $lvopts $vg ; then
|
|
|
|
+ LogPrintError "Failed to create LVM volume '$vg/$lvname' with lvcreate -y $lvopts $vg"
|
|
|
|
+ if lvm lvcreate -y $fallbacklvopts $vg ; then
|
|
|
|
+ LogPrintError "Created LVM volume '$vg/$lvname' using fallback options lvcreate -y $fallbacklvopts $vg"
|
|
|
|
else
|
|
|
|
- LogPrintError "Also failed to create LVM volume '$vg/$lvname' with lvcreate $fallbacklvopts $vg"
|
|
|
|
+ LogPrintError "Also failed to create LVM volume '$vg/$lvname' with lvcreate -y $fallbacklvopts $vg"
|
|
|
|
# Explicit 'false' is needed to let the whole 'if then else fi' command exit with non zero exit state
|
|
|
|
# to let diskrestore.sh abort here as usual when a command fails (diskrestore.sh runs with 'set -e'):
|
|
|
|
false
|