diff options
| author | syphyr <syphyr@gmail.com> | 2019-07-13 21:04:31 +0200 |
|---|---|---|
| committer | Moyster <oysterized@gmail.com> | 2019-07-18 19:59:28 +0200 |
| commit | d0165c77d880a27781221ed5850fb04009c02eea (patch) | |
| tree | 09408c332a6ed988717ead429b24b05ab5b51dd5 /fs | |
| parent | 5bc7da4337710b61c5186f7bdb9e0e3610a51821 (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.c | 4 |
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; } |
