Laszlo Ersek
2022-Aug-05 08:44 UTC
[Libguestfs] [v2v PATCH] convert_linux: remove LVM2 "devices file"
A recent feature of LVM2 is the "devices file" <https://man7.org/linux/man-pages/man8/lvmdevices.8.html>. It speeds up LVM2 PV discovery on a normal system, but an old devices file in a converted domain (with different hardware) can prevent the assembly of volume groups. In particular, when converting a physical system to a guest with virt-p2v, the original system will have used "sys_wwid"-type identifiers in the LVM2 devices file, and those are guaranteed not to match any virtio-blk disks in the output domain. We've seen a similar issue in the past under RHBZ#1164853, so just extend the same scrubbing with the new pathname. Bugzilla: https://bugzilla.redhat.com/show_bug.cgi?id=2112801 Signed-off-by: Laszlo Ersek <lersek at redhat.com> --- convert/convert_linux.ml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/convert/convert_linux.ml b/convert/convert_linux.ml index a66ff1e45a57..2aaa438e42ac 100644 --- a/convert/convert_linux.ml +++ b/convert/convert_linux.ml @@ -1402,11 +1402,11 @@ let convert (g : G.guestfs) source inspect keep_serial_console _ * device names. blkid will rebuild these on demand. * * Delete the LVM cache since it will contain references to the - * old devices (RHBZ#1164853). + * old devices (RHBZ#1164853, RHBZ#2112801). *) List.iter g#rm_f [ "/etc/blkid/blkid.tab"; "/etc/blkid.tab"; - "/etc/lvm/cache/.cache" + "/etc/lvm/cache/.cache"; "/etc/lvm/devices/system.devices" ]; in -- 2.19.1.3.g30247aa5d201
Richard W.M. Jones
2022-Aug-05 09:21 UTC
[Libguestfs] [v2v PATCH] convert_linux: remove LVM2 "devices file"
On Fri, Aug 05, 2022 at 10:44:26AM +0200, Laszlo Ersek wrote:> A recent feature of LVM2 is the "devices file" > <https://man7.org/linux/man-pages/man8/lvmdevices.8.html>. It speeds up > LVM2 PV discovery on a normal system, but an old devices file in a > converted domain (with different hardware) can prevent the assembly of > volume groups. > > In particular, when converting a physical system to a guest with virt-p2v, > the original system will have used "sys_wwid"-type identifiers in the LVM2 > devices file, and those are guaranteed not to match any virtio-blk disks > in the output domain. > > We've seen a similar issue in the past under RHBZ#1164853, so just extend > the same scrubbing with the new pathname. > > Bugzilla: https://bugzilla.redhat.com/show_bug.cgi?id=2112801 > Signed-off-by: Laszlo Ersek <lersek at redhat.com> > --- > convert/convert_linux.ml | 4 ++-- > 1 file changed, 2 insertions(+), 2 deletions(-) > > diff --git a/convert/convert_linux.ml b/convert/convert_linux.ml > index a66ff1e45a57..2aaa438e42ac 100644 > --- a/convert/convert_linux.ml > +++ b/convert/convert_linux.ml > @@ -1402,11 +1402,11 @@ let convert (g : G.guestfs) source inspect keep_serial_console _ > * device names. blkid will rebuild these on demand. > * > * Delete the LVM cache since it will contain references to the > - * old devices (RHBZ#1164853). > + * old devices (RHBZ#1164853, RHBZ#2112801). > *) > List.iter g#rm_f [ > "/etc/blkid/blkid.tab"; "/etc/blkid.tab"; > - "/etc/lvm/cache/.cache" > + "/etc/lvm/cache/.cache"; "/etc/lvm/devices/system.devices" > ];I think this'll be fine so ACK. In case you wanted to narrow the scope so the change is conditional on virt-p2v, you could check if source.s_hypervisor = Physical. Rich. -- Richard Jones, Virtualization Group, Red Hat http://people.redhat.com/~rjones Read my programming and virtualization blog: http://rwmj.wordpress.com Fedora Windows cross-compiler. Compile Windows programs, test, and build Windows installers. Over 100 libraries supported. http://fedoraproject.org/wiki/MinGW