Merge cherrypicks of [13636770, 13638692, 13636771, 13637567] into rvc-qpr2-release
Change-Id: Ic5037a7d90362f6141d4c91f815dab9665066472
diff --git a/gpt-utils/gpt-utils.cpp b/gpt-utils/gpt-utils.cpp
index f1f2858..c83ecc8 100644
--- a/gpt-utils/gpt-utils.cpp
+++ b/gpt-utils/gpt-utils.cpp
@@ -157,11 +157,18 @@
else
r = read(fd, buf, len);
- if (r < 0)
+ if (r < 0) {
fprintf(stderr, "block dev %s failed: %s\n", rw ? "write" : "read",
strerror(errno));
- else
- r = 0;
+ } else {
+ if (rw) {
+ r = fsync(fd);
+ if (r < 0)
+ fprintf(stderr, "fsync failed: %s\n", strerror(errno));
+ } else {
+ r = 0;
+ }
+ }
return r;
}