Harald Hoyer 3610a1
From 29a9e92999f7b7c977bba4d8cc59233cd3fbf986 Mon Sep 17 00:00:00 2001
Harald Hoyer 3610a1
From: Harald Hoyer <harald@hoyer.xyz>
Harald Hoyer 3610a1
Date: Tue, 19 Dec 2017 15:35:18 +0100
Harald Hoyer 3610a1
Subject: [PATCH] Merge pull request #331 from fcami/master-fsfreeze
Harald Hoyer 3610a1
Harald Hoyer 3610a1
call fsfreeze(8) on /boot to flush initramfs data & metadata to media
Harald Hoyer 3610a1
---
Harald Hoyer 3610a1
 dracut.sh | 7 ++++++-
Harald Hoyer 3610a1
 1 file changed, 6 insertions(+), 1 deletion(-)
Harald Hoyer 3610a1
Harald Hoyer 3610a1
diff --git a/dracut.sh b/dracut.sh
Harald Hoyer 3610a1
index 8daafc35..f5c8d74c 100755
Harald Hoyer 3610a1
--- a/dracut.sh
Harald Hoyer 3610a1
+++ b/dracut.sh
Harald Hoyer 3610a1
@@ -1828,8 +1828,13 @@ fi
Harald Hoyer 3610a1
 command -v restorecon &>/dev/null && restorecon -- "$outfile"
Harald Hoyer 3610a1
 
Harald Hoyer 3610a1
 if ! sync "$outfile" 2> /dev/null; then
Harald Hoyer 3610a1
-    dinfo "dracut: sync operartion on newly created initramfs $outfile failed"
Harald Hoyer 3610a1
+    dinfo "dracut: sync operation on newly created initramfs $outfile failed"
Harald Hoyer 3610a1
     exit 1
Harald Hoyer 3610a1
+# use fsfreeze only if we're not writing to /
Harald Hoyer 3610a1
+elif ! [ "$(stat -c %m -- "$outfile")" == "/" ]; then
Harald Hoyer 3610a1
+    if ! $(fsfreeze -f $(dirname "$outfile") 2>/dev/null && fsfreeze -u $(dirname "$outfile") 2>/dev/null); then
Harald Hoyer 3610a1
+        dinfo "dracut: warning: could not fsfreeze $(dirname "$outfile")"
Harald Hoyer 3610a1
+    fi
Harald Hoyer 3610a1
 fi
Harald Hoyer 3610a1
 
Harald Hoyer 3610a1
 exit 0
Harald Hoyer 3610a1