aboutsummaryrefslogtreecommitdiff
path: root/fs
diff options
context:
space:
mode:
authorsyphyr <syphyr@gmail.com>2019-07-13 21:04:31 +0200
committerMoyster <oysterized@gmail.com>2019-07-18 19:59:28 +0200
commitd0165c77d880a27781221ed5850fb04009c02eea (patch)
tree09408c332a6ed988717ead429b24b05ab5b51dd5 /fs
parent5bc7da4337710b61c5186f7bdb9e0e3610a51821 (diff)
ANDROID: sdcardfs: Wait for file flush to complete
Sdcardfs needs to wait for the file to finish writing before returning an error. Backport from 3.18 to 3.10 kernel. Change-Id: I0fbdfd9a4c46ad34b8826099d9e3b255289d4794
Diffstat (limited to 'fs')
-rw-r--r--fs/sdcardfs/file.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/fs/sdcardfs/file.c b/fs/sdcardfs/file.c
index 06cd752b4..0aa8561d0 100644
--- a/fs/sdcardfs/file.c
+++ b/fs/sdcardfs/file.c
@@ -294,8 +294,10 @@ static int sdcardfs_flush(struct file *file, fl_owner_t id)
struct file *lower_file = NULL;
lower_file = sdcardfs_lower_file(file);
- if (lower_file && lower_file->f_op && lower_file->f_op->flush)
+ if (lower_file && lower_file->f_op && lower_file->f_op->flush) {
+ filemap_write_and_wait(file->f_mapping);
err = lower_file->f_op->flush(lower_file, id);
+ }
return err;
}