[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#1011189: partman-auto-lvm/guided_size defaults to invalid value



Source: partman-auto-lvm
Version: 85
Severity: normal
Tags: d-i
X-Debbugs-Cc: ssgelm@debian.org

While updating some d-i preseed configs from stretch to bullseye, I
found that previously working partman configs no longer produce the
expected output. For example, on a 3.5T disk, I have the following
partman config:

  boot-root :: \
    538 538 538 ext4 \
      $primary{ } \
      $bootable{ } \
      method{ format } \
      format{ } \
      use_filesystem{ } \
      filesystem{ ext4 } \
      mountpoint{ /boot } \
    . \
    21475 21475 21475 ext4 \
      lv_name{ root } \
      method{ lvm } \
      format{ } \
      use_filesystem{ } \
      filesystem{ ext4 } \
      mountpoint{ / } \
      $lvmok{ } \
    . \
    1024 1024 -1 ext4 \
      lv_name{ var } \
      method{ lvm } \
      format{ } \
      use_filesystem{ } \
      filesystem{ ext4 } \
      mountpoint{ /var } \
      $lvmok{ } \
    .

I would expect this to produce the following:
- 512M /boot
- LVM VG filling the rest of the disk with:
  - 20G /
  - 3.4T /var (rest of the disk)

That is what happens in stretch and earlier (and maybe buster, I haven't
tested). In the bullseye installer I end up with the following:

  $ lsblk
  NAME         MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
  sda            8:0    0  3.5T  0 disk
  ├─sda1         8:1    0  512M  0 part /boot
  └─sda2         8:2    0  3.5T  0 part
    ├─vg0-root 254:0    0   20G  0 lvm  /
    └─vg0-var  254:1    0  976M  0 lvm  /var

In trying to track down this bug, I found that
partman-auto-lvm/guided_size was added and according to
https://salsa.debian.org/installer-team/partman-auto-lvm/-/blob/master/debian/partman-auto-lvm.templates#L77-L79,
defaults to a value of "some number". Unsurprisingly, this is not a
valid number configuration option, so the maximum size doesn't get set
properly. Setting "d-i partman-auto-lvm/guided_size string max" in my
preseed restores the previous behavior. I believe there are two issues
here:

1. "partman-auto-lvm/guided_size" should default to "max" in order to
   maintain compatibility with previous releases.
2. When "partman-auto-lvm/guided_size" is set to an invalid value it
   seems that the code does not behave properly. I'm not sure what behavior
   I'd expect, but I don't think the behavior I am seeing of picking the
   minimum size for each partition is correct.

Thanks!

Stephen

-- System Information:
Debian Release: bookworm/sid
  APT prefers unstable
  APT policy: (500, 'unstable')
Architecture: amd64 (x86_64)

Kernel: Linux 5.16.0-1-amd64 (SMP w/4 CPU threads; PREEMPT)
Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8) (ignored: LC_ALL set to en_US.UTF-8), LANGUAGE not set
Shell: /bin/sh linked to /usr/bin/dash
Init: systemd (via /run/systemd/system)
LSM: AppArmor: enabled

Reply to: