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