I updated the patch (joined) so that we also run filter_lvm on recipes from /lib/partman/recipes*.
diff -Nru partman-auto-137/debian/changelog partman-auto-137+arcadia1/debian/changelog
--- partman-auto-137/debian/changelog 2016-10-13 07:02:40.000000000 +0200
+++ partman-auto-137+arcadia1/debian/changelog 2018-04-27 21:16:34.000000000 +0200
@@ -1,3 +1,9 @@
+partman-auto (137+arcadia1) unstable; urgency=medium
+
+ * Filter LVs for computing min_size
+
+ -- Garinot Pierre <garinot.pierre@errlock.org> Fri, 27 Apr 2018 21:16:34 +0200
+
partman-auto (137) unstable; urgency=medium
[ Helge Deller ]
diff -Nru partman-auto-137/lib/recipes.sh partman-auto-137+arcadia1/lib/recipes.sh
--- partman-auto-137/lib/recipes.sh 2013-10-01 07:21:24.000000000 +0200
+++ partman-auto-137+arcadia1/lib/recipes.sh 2018-04-27 21:16:34.000000000 +0200
@@ -200,6 +200,21 @@
done
}
+filter_lvm () {
+ scheme_lvm=$(
+ foreach_partition '
+ if echo "$*" | grep -q '\''in_vg{'\''; then
+ echo "$*"
+ fi'
+ )
+ scheme=$(
+ foreach_partition '
+ if ! echo "$*" | grep -q '\''in_vg{'\''; then
+ echo "$*"
+ fi'
+ )
+}
+
min_size () {
local size
size=0
@@ -374,6 +389,9 @@
recipe="$RET"
decode_recipe $recipe $type
filter_reused
+ if [ "$type" = "lvm" ]; then
+ filter_lvm
+ fi
min_size=$(min_size)
if [ $min_size -le $free_size ]; then
return 0
@@ -401,6 +419,9 @@
[ -f "$recipe" ] || continue
decode_recipe $recipe $type
filter_reused
+ if [ "$type" = "lvm" ]; then
+ filter_lvm
+ fi
if [ $(min_size) -le $free_size ]; then
choices="${choices}${recipe}${TAB}${name}${NL}"
if [ "$default_recipe" = no ]; then
Attachment:
pgp48IldrUrmA.pgp
Description: OpenPGP digital signature