diff options
author | Jeff Layton <jlayton@redhat.com> | 2017-07-06 07:02:22 -0400 |
---|---|---|
committer | Jeff Layton <jlayton@redhat.com> | 2017-07-06 07:02:22 -0400 |
commit | 76341cabbdad65c10a4162e9dfa82a6342afc02f (patch) | |
tree | 92413633a5fc6554fecd37842a4bcfd06fde0adb /include/linux/fs.h | |
parent | 87354e5de04fe727227ff619af164202adcfa4d4 (diff) | |
download | talos-obmc-linux-76341cabbdad65c10a4162e9dfa82a6342afc02f.tar.gz talos-obmc-linux-76341cabbdad65c10a4162e9dfa82a6342afc02f.zip |
jbd2: don't clear and reset errors after waiting on writeback
Resetting this flag is almost certainly racy, and will be problematic
with some coming changes.
Make filemap_fdatawait_keep_errors return int, but not clear the flag(s).
Have jbd2 call it instead of filemap_fdatawait and don't attempt to
re-set the error flag if it fails.
Reviewed-by: Jan Kara <jack@suse.cz>
Reviewed-by: Carlos Maiolino <cmaiolino@redhat.com>
Signed-off-by: Jeff Layton <jlayton@redhat.com>
Diffstat (limited to 'include/linux/fs.h')
-rw-r--r-- | include/linux/fs.h | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/include/linux/fs.h b/include/linux/fs.h index 803e5a9b2654..8ac8df1b3550 100644 --- a/include/linux/fs.h +++ b/include/linux/fs.h @@ -2514,7 +2514,7 @@ extern int write_inode_now(struct inode *, int); extern int filemap_fdatawrite(struct address_space *); extern int filemap_flush(struct address_space *); extern int filemap_fdatawait(struct address_space *); -extern void filemap_fdatawait_keep_errors(struct address_space *); +extern int filemap_fdatawait_keep_errors(struct address_space *mapping); extern int filemap_fdatawait_range(struct address_space *, loff_t lstart, loff_t lend); extern int filemap_write_and_wait(struct address_space *mapping); |