Merge "Fix race condition is commitCheckpoint" am: 1059810759 am: 556bd755e6
am: 86bc2a32d8
Change-Id: Ie255d33f5f6efd049c0a3e8a619c1333069c0e8c
diff --git a/secdiscard.cpp b/secdiscard.cpp
index 0ff05d6..4659eed 100644
--- a/secdiscard.cpp
+++ b/secdiscard.cpp
@@ -147,6 +147,10 @@
if (!overwrite_with_zeros(fs_fd.get(), range[0], range[1])) return false;
}
}
+ // Should wait for overwrites completion. Otherwise after unlink(),
+ // filesystem can allocate these blocks and IO can be reordered, resulting
+ // in making zero blocks to filesystem blocks.
+ fsync(fs_fd.get());
return true;
}