Richard W.M. Jones
2022-May-17 10:59 UTC
[Libguestfs] [PATCH v2v 2/2] convert: Remove /dev/mapper/osprober-* devices left around by grub2
These devices can be left around by grub2 when it runs the osprober tool after we run ?/sbin/grub2-mkconfig -o /boot/grub2/grub.cfg?. They are read-only mirrors of existing filesystems. These confuse later steps in conversion, specifically fstrim. Reported-by: Ming Xie Fixes: https://bugzilla.redhat.com/show_bug.cgi?id=2003503 --- convert/linux_bootloaders.ml | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/convert/linux_bootloaders.ml b/convert/linux_bootloaders.ml index a70b65a41c..7c5fb0be3f 100644 --- a/convert/linux_bootloaders.ml +++ b/convert/linux_bootloaders.ml @@ -345,7 +345,14 @@ object (self) method remove_console = self#grub2_update_console ~remove:true method update () - ignore (g#command [| grub2_mkconfig_cmd; "-o"; grub_config |]) + ignore (g#command [| grub2_mkconfig_cmd; "-o"; grub_config |]); + + (* Grub2 runs osprober which sometimes leaves around read-only + * device-mapper maps covering existing filesystems. These + * confuse later steps (especially fstrim). So just delete + * any if found. (RHBZ#2003503). + *) + ignore (g#command [| "bash"; "-c"; "rm -f /dev/mapper/osprober-*" |]) method get_config_file () grub_config -- 2.35.1
Laszlo Ersek
2022-May-17 11:10 UTC
[Libguestfs] [PATCH v2v 2/2] convert: Remove /dev/mapper/osprober-* devices left around by grub2
On 05/17/22 12:59, Richard W.M. Jones wrote:> These devices can be left around by grub2 when it runs the osprober > tool after we run ?/sbin/grub2-mkconfig -o /boot/grub2/grub.cfg?. > They are read-only mirrors of existing filesystems. These confuse > later steps in conversion, specifically fstrim. > > Reported-by: Ming Xie > Fixes: https://bugzilla.redhat.com/show_bug.cgi?id=2003503 > --- > convert/linux_bootloaders.ml | 9 ++++++++- > 1 file changed, 8 insertions(+), 1 deletion(-) > > diff --git a/convert/linux_bootloaders.ml b/convert/linux_bootloaders.ml > index a70b65a41c..7c5fb0be3f 100644 > --- a/convert/linux_bootloaders.ml > +++ b/convert/linux_bootloaders.ml > @@ -345,7 +345,14 @@ object (self) > method remove_console = self#grub2_update_console ~remove:true > > method update () > - ignore (g#command [| grub2_mkconfig_cmd; "-o"; grub_config |]) > + ignore (g#command [| grub2_mkconfig_cmd; "-o"; grub_config |]); > + > + (* Grub2 runs osprober which sometimes leaves around read-only > + * device-mapper maps covering existing filesystems. These > + * confuse later steps (especially fstrim). So just delete > + * any if found. (RHBZ#2003503). > + *) > + ignore (g#command [| "bash"; "-c"; "rm -f /dev/mapper/osprober-*" |]) > > method get_config_file () > grub_config >Hmm... I'm not sure why this is better than "dmsetup remove", but it does not really matter. We need these nodes to disappear only for the remainder of the conversion -- so command that effects that suffices! Reviewed-by: Laszlo Ersek <lersek at redhat.com> Thanks! Laszlo