summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLouis Yung-Chieh Lo <yjlou@chromium.org>2013-01-15 13:13:07 +0800
committerChromeBot <chrome-bot@google.com>2013-01-15 02:47:42 -0800
commitf3613b60c7374dfcf54c922d46c7da8feeb22000 (patch)
treeb6d21d66198d1a8447fc732b97bf91ebcca0e848
parent826db09fcec194951e1dc71002d6a92620fbb46b (diff)
downloadvboot-f3613b60c7374dfcf54c922d46c7da8feeb22000.tar.gz
Trigger sync right after writing.
This can trigger the sync mechanism earlier so that the kernel has enough time to schedule a real disk sync before system reboots. BUG=chromium-os:35992 TEST=compile only BRANCH=none Change-Id: I505fdf45d95a52c9eca7687ecd6fb9f6be8cc5f1 Reviewed-on: https://gerrit.chromium.org/gerrit/41269 Reviewed-by: Hung-Te Lin <hungte@chromium.org> Tested-by: Yung-Chieh Lo <yjlou@chromium.org> Commit-Queue: Yung-Chieh Lo <yjlou@chromium.org>
-rw-r--r--cgpt/cgpt_common.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/cgpt/cgpt_common.c b/cgpt/cgpt_common.c
index 193f2e1e..8247a5a8 100644
--- a/cgpt/cgpt_common.c
+++ b/cgpt/cgpt_common.c
@@ -269,7 +269,12 @@ int DriveClose(struct drive *drive, int update_as_needed) {
}
}
+ // Sync early!
+ fsync(drive->fd);
+ syncfs(drive->fd);
+
close(drive->fd);
+ sync();
if (drive->gpt.primary_header)
free(drive->gpt.primary_header);