grub2/0068-ppc64le-sync-mkconfig-to-disk-1212114.patch
Peter Jones 35f33eadc0 Two bug fixes...
- Revert TPM patches, they break some x86 platforms and ppc64
  Resolves: rhbz#1334075
  Resolves: rhbz#1334672
- Chainloading on EFI doesn't work with some bootloaders
  Resolves: rhbz#1320273

Signed-off-by: Peter Jones <pjones@redhat.com>
2016-06-09 15:56:36 -04:00

42 lines
1.3 KiB
Diff

From 63efe6a207f59ffa9e55cc10a0aed272f3571227 Mon Sep 17 00:00:00 2001
From: Don Zickus <dzickus@redhat.com>
Date: Wed, 22 Jul 2015 13:59:55 -0400
Subject: [PATCH 68/80] ppc64le sync mkconfig to disk (#1212114)
If creating a new grub2 entry using grub2-mkconfig, the entry is not
immediately sync'd to disk. If a crash happens before the writeback,
the subsequent reboot fails because the grub2.cfg is corrupted.
Address this by forcing all the changes (mainly the fs meta data) to disk
before finishing the grub2 conf changes.
Tested by 'grub2-mkconfig -o /etc/grub22.cfg; echo c > /proc/sysrq-trigger'.
Before, the machine would panic and on reboot be stuck without a grub.cfg
to read. After, works as expected.
Resolves: rhbz#1212114
---
util/grub-mkconfig.in | 9 +++++++++
1 file changed, 9 insertions(+)
diff --git a/util/grub-mkconfig.in b/util/grub-mkconfig.in
index fb87247..73a18f7 100644
--- a/util/grub-mkconfig.in
+++ b/util/grub-mkconfig.in
@@ -294,3 +294,12 @@ fi
gettext "done" >&2
echo >&2
+
+# make sure changes make it to the disk.
+# if /boot is a mountpoint, force the meta data on disk
+# to by-pass writeback delay.
+# PPC64LE-only to deal with Petitboot issues
+ARCH=$(uname -m)
+if [ "${ARCH}" = "ppc64le" ]; then
+ sync && mountpoint -q /boot &&fsfreeze -f /boot && fsfreeze -u /boot
+fi
--
2.7.4