summaryrefslogtreecommitdiff
path: root/libre-testing/pacman/0001-Sychronize-filesystem.patch
diff options
context:
space:
mode:
Diffstat (limited to 'libre-testing/pacman/0001-Sychronize-filesystem.patch')
-rw-r--r--libre-testing/pacman/0001-Sychronize-filesystem.patch32
1 files changed, 32 insertions, 0 deletions
diff --git a/libre-testing/pacman/0001-Sychronize-filesystem.patch b/libre-testing/pacman/0001-Sychronize-filesystem.patch
new file mode 100644
index 000000000..49ca47cbe
--- /dev/null
+++ b/libre-testing/pacman/0001-Sychronize-filesystem.patch
@@ -0,0 +1,32 @@
+From 60abb58d9db663e6050d8d61d67e0e893306dfb0 Mon Sep 17 00:00:00 2001
+From: Kevin Mihelich <kevin@archlinuxarm.org>
+Date: Sat, 13 Sep 2014 18:58:16 -0600
+Subject: [PATCH 1/3] Sychronize filesystem
+
+Since many problems arise from improper flushing of the filesystem,
+particularly package installations followed by a reboot very shorly after,
+this will perform a sync() after installations and removals to ensure a
+consistent filesystem state after package operations.
+
+Signed-off-by: Kevin Mihelich <kevin@archlinuxarm.org>
+---
+ lib/libalpm/trans.c | 3 +++
+ 1 file changed, 3 insertions(+)
+
+diff --git a/lib/libalpm/trans.c b/lib/libalpm/trans.c
+index af964832..b3f9049e 100644
+--- a/lib/libalpm/trans.c
++++ b/lib/libalpm/trans.c
+@@ -230,6 +230,9 @@ int SYMEXPORT alpm_trans_commit(alpm_handle_t *handle, alpm_list_t **data)
+
+ trans->state = STATE_COMMITED;
+
++ _alpm_log(handle, ALPM_LOG_DEBUG, "synchronizing filesystem\n");
++ sync();
++
+ return 0;
+ }
+
+--
+2.17.0
+