Please backport lvm2 2.03.11-2ubuntu4 (main) from hirsute

Bug #1929432 reported by Heitor Alves de Siqueira
8
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Focal Backports
Fix Released
Undecided
Heitor Alves de Siqueira
Groovy Backports
Fix Released
Undecided
Heitor Alves de Siqueira

Bug Description

Please backport lvm2 2.03.11-2ubuntu4 (main) from hirsute to focal, groovy.

Reason for the backport:
========================
lvmlockd in Focal/Groovy is missing support for VGs that consist of multiple disks with differing sector sizes, or single disks with different logical/physical block sizes. Currently, lvmlockd refuses to write leases to such devices, failing with an error message "Inconsistent logical block sizes".
Support for such devices has been introduced after the upstream patch below:
* 2d1fe38d84d4 - lvmlockd: use 4K sector size when any dev is 4K [0]

Unfortunately, we can't backport just lvmlockd and need to pull the whole lvm2 source package back into Focal. There are some restrictions to this backport, as writing sanlock leases to mixed sector devices requires at least sanlock-3.8.0. This is due to the lvm client allowing the sanlock writes to the disk due to patch [0], but the leases won't be found by sanlock. The result is a shared lvm device that can't access the VG locks, and can end up in a state that requires disk wipes in addition to destroying the previously created shared locks.

For this reason, we need to modify the 'Depends:' section of lvm2-lockd to prevent it from being installed in systems with earlier sanlock versions. Due to the available debhelper versions in Focal/Groovy, we also need to modify the lvm2 build files to depend on debhelper 12.

I've uploaded tests builds for both lvm2 and sanlock to a public PPA on ppa:halves/lp1920047 [1]. Please also see the backport request for sanlock [2], as it would be a requirement for this lvm2 backport request. Finally, the public launchpad bug against lvm2 (LP: #1920047) has details on testing procedures and possible regressions that are relevant to both of these backport requests.

[0] https://sourceware.org/git/?p=lvm2.git;a=commitdiff;h=2d1fe38d84d4
[1] https://launchpad.net/~halves/+archive/ubuntu/lp1920047
[2] https://bugs.launchpad.net/bugs/1928708
[3] https://bugs.launchpad.net/bugs/1920047

Testing:
========
Mark off items in the checklist [X] as you test them, but please leave the checklist so that backporters can quickly evaluate the state of testing.

You can test-build the backport in your PPA with backportpackage:
$ backportpackage -u ppa:<lp username>/<ppa name> -s hirsute -d focal lvm2
$ backportpackage -u ppa:<lp username>/<ppa name> -s hirsute -d groovy lvm2

* focal:
[ ] Package builds without modification
[ ] libdevmapper-event1.02.1 installs cleanly and runs
[ ] dmsetup-dbgsym installs cleanly and runs
[ ] libdevmapper1.02.1-dbgsym installs cleanly and runs
[ ] lvm2-dbgsym installs cleanly and runs
[ ] lvm2-lockd-dbgsym installs cleanly and runs
[ ] dmeventd-dbgsym installs cleanly and runs
[ ] dmeventd installs cleanly and runs
[ ] libdevmapper-event1.02.1-dbgsym installs cleanly and runs
[ ] liblvm2-dev installs cleanly and runs
[ ] liblvm2cmd2.03 installs cleanly and runs
[ ] liblvm2cmd2.03-dbgsym installs cleanly and runs
[ ] lvm2-dbusd installs cleanly and runs
[x] lvm2-lockd installs cleanly and runs
[ ] libdevmapper1.02.1 installs cleanly and runs
[ ] libdevmapper-dev installs cleanly and runs
[ ] dmsetup installs cleanly and runs
[x] lvm2 installs cleanly and runs
* groovy:
[ ] Package builds without modification
[ ] libdevmapper-event1.02.1 installs cleanly and runs
[ ] dmsetup-dbgsym installs cleanly and runs
[ ] libdevmapper1.02.1-dbgsym installs cleanly and runs
[ ] lvm2-dbgsym installs cleanly and runs
[ ] lvm2-lockd-dbgsym installs cleanly and runs
[ ] dmeventd-dbgsym installs cleanly and runs
[ ] dmeventd installs cleanly and runs
[ ] libdevmapper-event1.02.1-dbgsym installs cleanly and runs
[ ] liblvm2-dev installs cleanly and runs
[ ] liblvm2cmd2.03 installs cleanly and runs
[ ] liblvm2cmd2.03-dbgsym installs cleanly and runs
[ ] lvm2-dbusd installs cleanly and runs
[x] lvm2-lockd installs cleanly and runs
[ ] libdevmapper1.02.1 installs cleanly and runs
[ ] libdevmapper-dev installs cleanly and runs
[ ] dmsetup installs cleanly and runs
[x] lvm2 installs cleanly and runs

Reverse dependencies:
=====================
The following reverse-dependencies need to be tested against the new version of lvm2. For reverse-build-dependencies (-Indep), please test that the package still builds against the new lvm2. For reverse-dependencies, please test that the version of the package currently in the release still works with the new lvm2 installed. Reverse- Recommends, Suggests, and Enhances don't need to be tested, and are listed for completeness-sake.

libdevmapper-event1.02.1
------------------------

dmsetup-dbgsym
--------------

libdevmapper1.02.1-dbgsym
-------------------------

lvm2-dbgsym
-----------

lvm2-lockd-dbgsym
-----------------

dmeventd-dbgsym
---------------

dmeventd
--------
* systemd
  [ ] focal (Reverse-Testsuite-Triggers)
  [ ] groovy (Reverse-Testsuite-Triggers)

libdevmapper-event1.02.1-dbgsym
-------------------------------

liblvm2-dev
-----------

liblvm2cmd2.03
--------------

liblvm2cmd2.03-dbgsym
---------------------

lvm2-dbusd
----------

lvm2-lockd
----------

libdevmapper1.02.1
------------------
* kpartx
  [ ] focal (Reverse-Depends)
  [ ] groovy (Reverse-Depends)
* libtcplay
  [ ] focal (Reverse-Depends)
  [ ] groovy (Reverse-Depends)
* cryptmount
  [ ] focal (Reverse-Depends)
  [ ] groovy (Reverse-Depends)
* grub-emu
  [ ] focal (Reverse-Depends)
  [ ] groovy (Reverse-Depends)
* grub2-common
  [ ] focal (Reverse-Depends)
  [ ] groovy (Reverse-Depends)
* libvirt0
  [ ] focal (Reverse-Depends)
* docker.io
  [ ] focal (Reverse-Depends)
  [ ] groovy (Reverse-Depends)
* tcplay
  [ ] focal (Reverse-Depends)
  [ ] groovy (Reverse-Depends)
* libblockdev-lvm2
  [ ] focal (Reverse-Depends)
  [ ] groovy (Reverse-Depends)
* containers-storage
  [ ] focal (Reverse-Depends)
  [ ] groovy (Reverse-Depends)
* lilo
  [ ] focal (Reverse-Depends)
  [ ] groovy (Reverse-Depends)
* nfs-common
  [ ] focal (Reverse-Depends)
  [ ] groovy (Reverse-Depends)
* libcryptsetup12
  [ ] focal (Reverse-Depends)
  [ ] groovy (Reverse-Depends)
* libldm-1.0-0
  [ ] focal (Reverse-Depends)
  [ ] groovy (Reverse-Depends)
* libblockdev-dm2
  [ ] focal (Reverse-Depends)
  [ ] groovy (Reverse-Depends)
* grub-common
  [ ] focal (Reverse-Depends)
  [ ] groovy (Reverse-Depends)
* libblockdev-mpath2
  [ ] focal (Reverse-Depends)
  [ ] groovy (Reverse-Depends)
* multipath-tools
  [ ] focal (Reverse-Depends)
  [ ] groovy (Reverse-Depends)
* libzulucrypt1.2.0
  [ ] focal (Reverse-Depends)
  [ ] groovy (Reverse-Depends)
* libparted2
  [ ] focal (Reverse-Depends)
  [ ] groovy (Reverse-Depends)
* libblockdev-lvm-dbus2
  [ ] focal (Reverse-Depends)
  [ ] groovy (Reverse-Depends)
* xfsprogs
  [ ] focal (Reverse-Depends)
  [ ] groovy (Reverse-Depends)
* virtualbox
  [ ] focal (Reverse-Depends)
  [ ] groovy (Reverse-Depends)
* libvirt-daemon
  [ ] focal (Reverse-Depends)
  [ ] groovy (Reverse-Depends)
* grub-pc-bin
  [ ] focal (Reverse-Depends)
  [ ] groovy (Reverse-Depends)
* eject
  [ ] focal (Reverse-Depends)
* libdmraid1.0.0.rc16
  [ ] focal (Reverse-Depends)
  [ ] groovy (Reverse-Depends)
* podman
  [ ] groovy (Reverse-Depends)
* skopeo
  [ ] groovy (Reverse-Depends)
* buildah
  [ ] groovy (Reverse-Depends)

libdevmapper-dev
----------------
* libparted-dev
  [ ] focal (Reverse-Depends)
  [ ] groovy (Reverse-Depends)
* libblockdev-dm-dev
  [ ] focal (Reverse-Depends)
  [ ] groovy (Reverse-Depends)
* golang-github-containers-storage-dev
  [ ] focal (Reverse-Depends)
  [ ] groovy (Reverse-Depends)
* eject
  [ ] focal (Reverse-Build-Depends)
* tcplay
  [ ] focal (Reverse-Build-Depends)
  [ ] groovy (Reverse-Build-Depends)
* golang-github-containers-image
  [ ] focal (Reverse-Build-Depends)
  [ ] groovy (Reverse-Build-Depends)
* lilo
  [ ] focal (Reverse-Build-Depends)
  [ ] groovy (Reverse-Build-Depends)
* virtualbox-hwe
  [ ] focal (Reverse-Build-Depends)
  [ ] groovy (Reverse-Build-Depends)
* dmraid
  [ ] focal (Reverse-Build-Depends)
  [ ] groovy (Reverse-Build-Depends)
* libldm
  [ ] focal (Reverse-Build-Depends)
  [ ] groovy (Reverse-Build-Depends)
* xfsprogs
  [ ] focal (Reverse-Build-Depends)
  [ ] groovy (Reverse-Build-Depends)
* dump
  [ ] focal (Reverse-Build-Depends)
  [ ] groovy (Reverse-Build-Depends)
* virtualbox
  [ ] focal (Reverse-Build-Depends)
  [ ] groovy (Reverse-Build-Depends)
* grub2
  [ ] focal (Reverse-Build-Depends)
  [ ] groovy (Reverse-Build-Depends)
* ocfs2-tools
  [ ] focal (Reverse-Build-Depends)
  [ ] groovy (Reverse-Build-Depends)
* zulucrypt
  [ ] focal (Reverse-Build-Depends)
  [ ] groovy (Reverse-Build-Depends)
* libvirt
  [ ] focal (Reverse-Build-Depends)
  [ ] groovy (Reverse-Build-Depends)
* cryptsetup
  [ ] focal (Reverse-Build-Depends)
  [ ] groovy (Reverse-Build-Depends)
* nfs-utils
  [ ] focal (Reverse-Build-Depends)
  [ ] groovy (Reverse-Build-Depends)
* cryptmount
  [ ] focal (Reverse-Build-Depends)
  [ ] groovy (Reverse-Build-Depends)
* golang-github-containers-storage
  [ ] focal (Reverse-Build-Depends)
  [ ] groovy (Reverse-Build-Depends)
* multipath-tools
  [ ] focal (Reverse-Build-Depends)
  [ ] groovy (Reverse-Build-Depends)
* parted
  [ ] focal (Reverse-Build-Depends)
  [ ] groovy (Reverse-Build-Depends)
* docker.io
  [ ] focal (Reverse-Build-Depends)
  [ ] groovy (Reverse-Build-Depends)
* libblockdev
  [ ] focal (Reverse-Build-Depends)
  [ ] groovy (Reverse-Build-Depends)
* libpod
  [ ] groovy (Reverse-Build-Depends)

dmsetup
-------
* dm-writeboost-dkms
  [ ] focal (Reverse-Recommends)
  [ ] groovy (Reverse-Recommends)
* dracut-core
  [ ] focal (Reverse-Recommends)
  [ ] groovy (Reverse-Recommends)
* cryptmount
  [ ] focal (Reverse-Suggests)
  [ ] groovy (Reverse-Suggests)
* gparted
  [ ] focal (Reverse-Suggests)
  [ ] groovy (Reverse-Suggests)
* bilibop-common
  [ ] focal (Reverse-Suggests)
  [ ] groovy (Reverse-Suggests)
* fai-setup-storage
  [ ] focal (Reverse-Suggests)
  [ ] groovy (Reverse-Suggests)
* hashalot
  [ ] focal (Reverse-Suggests)
  [ ] groovy (Reverse-Suggests)
* os-prober
  [ ] focal (Reverse-Depends)
  [ ] groovy (Reverse-Depends)
* libblockdev-dm2
  [ ] focal (Reverse-Depends)
  [ ] groovy (Reverse-Depends)
* dmraid
  [ ] focal (Reverse-Depends)
  [ ] groovy (Reverse-Depends)
* freedom-maker
  [ ] focal (Reverse-Depends)
  [ ] groovy (Reverse-Depends)
* luksipc
  [ ] focal (Reverse-Depends)
  [ ] groovy (Reverse-Depends)
* casper
  [ ] focal (Reverse-Depends)
  [ ] groovy (Reverse-Depends)
* writeboost
  [ ] focal (Reverse-Depends)
  [ ] groovy (Reverse-Depends)
* cryptsetup
  [ ] focal (Reverse-Depends)
  [ ] groovy (Reverse-Depends)
* kpartx
  [ ] focal (Reverse-Depends)
  [ ] groovy (Reverse-Depends)
* dracut-live
  [ ] groovy (Reverse-Depends)
* dm-writeboost
  [ ] focal (Reverse-Testsuite-Triggers)
  [ ] groovy (Reverse-Testsuite-Triggers)

lvm2
----
* fai-setup-storage
  [ ] focal (Reverse-Recommends)
  [ ] groovy (Reverse-Recommends)
* lxctl
  [ ] focal (Reverse-Recommends)
  [ ] groovy (Reverse-Recommends)
* dracut-core
  [ ] focal (Reverse-Recommends)
  [ ] groovy (Reverse-Recommends)
* ubiquity
  [ ] focal (Reverse-Recommends)
  [ ] groovy (Reverse-Recommends)
* bilibop-rules
  [ ] focal (Reverse-Recommends)
  [ ] groovy (Reverse-Recommends)
* liblinux-lvm-perl
  [ ] focal (Reverse-Recommends)
  [ ] groovy (Reverse-Recommends)
* libvirt0
  [ ] focal (Reverse-Recommends)
  [ ] groovy (Reverse-Recommends)
* dell-recovery
  [ ] focal (Reverse-Recommends)
  [ ] groovy (Reverse-Recommends)
* xen-tools
  [ ] focal (Reverse-Recommends)
  [ ] groovy (Reverse-Recommends)
* stressant-meta
  [ ] focal (Reverse-Suggests)
  [ ] groovy (Reverse-Suggests)
* mini-buildd
  [ ] focal (Reverse-Suggests)
  [ ] groovy (Reverse-Suggests)
* lxc-utils
  [ ] focal (Reverse-Suggests)
  [ ] groovy (Reverse-Suggests)
* schroot
  [ ] focal (Reverse-Suggests)
  [ ] groovy (Reverse-Suggests)
* bilibop-common
  [ ] focal (Reverse-Suggests)
  [ ] groovy (Reverse-Suggests)
* probert-storage
  [ ] focal (Reverse-Depends)
  [ ] groovy (Reverse-Depends)
* cephadm
  [ ] focal (Reverse-Depends)
  [ ] groovy (Reverse-Depends)
* libblockdev-lvm2
  [ ] focal (Reverse-Depends)
  [ ] groovy (Reverse-Depends)
* mylvmbackup
  [ ] focal (Reverse-Depends)
  [ ] groovy (Reverse-Depends)
* cinder-volume
  [ ] focal (Reverse-Depends)
  [ ] groovy (Reverse-Depends)
* curtin
  [ ] focal (Reverse-Depends)
  [ ] groovy (Reverse-Depends)
* ceph-osd
  [ ] focal (Reverse-Depends)
  [ ] groovy (Reverse-Depends)
* debootstick
  [ ] focal (Reverse-Depends)
  [ ] groovy (Reverse-Depends)
* libguestfs0
  [ ] focal (Reverse-Depends)
  [ ] groovy (Reverse-Depends)
* ubuntu-server
  [ ] focal (Reverse-Depends)
  [ ] groovy (Reverse-Depends)
* ubuntu-server-raspi
  [ ] groovy (Reverse-Depends)
* resource-agents
  [ ] focal (Reverse-Testsuite-Triggers)
  [ ] groovy (Reverse-Testsuite-Triggers)
* cinder
  [ ] focal (Reverse-Testsuite-Triggers)
  [ ] groovy (Reverse-Testsuite-Triggers)
* udisks2
  [ ] focal (Reverse-Testsuite-Triggers)
  [ ] groovy (Reverse-Testsuite-Triggers)
* libvirt
  [ ] focal (Reverse-Build-Depends)
  [ ] groovy (Reverse-Build-Depends)
* libguestfs
  [ ] focal (Reverse-Build-Depends)
  [ ] groovy (Reverse-Build-Depends)
* rsnapshot
  [ ] focal (Reverse-Build-Depends-Indep)
  [ ] groovy (Reverse-Build-Depends-Indep)
* cloud-utils
  [ ] groovy (Reverse-Testsuite-Triggers)

Tags: sts
tags: added: sts
Revision history for this message
Eric Desrochers (slashd) wrote :

[sts-sponsors]

[ubuntu/groovy-backports] lvm2 2.03.11-2ubuntu4~ubuntu20.10.1 (Waiting for approval)

Changed in groovy-backports:
status: New → In Progress
assignee: nobody → Heitor Alves de Siqueira (halves)
Revision history for this message
Eric Desrochers (slashd) wrote :

[sts-sponsors][focal]
[ubuntu/focal-backports] lvm2 2.03.11-2ubuntu4~ubuntu20.04.1 (Waiting for approval)

Changed in focal-backports:
status: New → In Progress
assignee: nobody → Heitor Alves de Siqueira (halves)
Revision history for this message
Heitor Alves de Siqueira (halves) wrote :

Packages now available in -backports:

- [ubuntu/focal-backports] lvm2 2.03.11-2ubuntu4~ubuntu20.04.1
- [ubuntu/groovy-backports] lvm2 2.03.11-2ubuntu4~ubuntu20.10.1

Changed in focal-backports:
status: In Progress → Fix Released
Changed in groovy-backports:
status: In Progress → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.