diff options
author | Jeff Layton <jlayton@redhat.com> | 2017-07-07 15:20:53 -0400 |
---|---|---|
committer | Jeff Layton <jlayton@redhat.com> | 2017-08-01 08:39:29 -0400 |
commit | d07a6ac7b6f878c1078b75181cdae060daac5820 (patch) | |
tree | 450c1b7ded37c327865f83358e90891f06628983 | |
parent | 6454568d961bc5de316014548838398174a128c4 (diff) |
gfs2: convert to errseq_t based writeback error reporting for fsync
Also, fix a place where a writeback error might get dropped in the
gfs2_is_jdata case.
Signed-off-by: Jeff Layton <jlayton@redhat.com>
-rw-r--r-- | fs/gfs2/file.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/fs/gfs2/file.c b/fs/gfs2/file.c index c2062a108d19..c53ac6efd04c 100644 --- a/fs/gfs2/file.c +++ b/fs/gfs2/file.c | |||
@@ -668,12 +668,14 @@ static int gfs2_fsync(struct file *file, loff_t start, loff_t end, | |||
668 | if (ret) | 668 | if (ret) |
669 | return ret; | 669 | return ret; |
670 | if (gfs2_is_jdata(ip)) | 670 | if (gfs2_is_jdata(ip)) |
671 | filemap_write_and_wait(mapping); | 671 | ret = file_write_and_wait(file); |
672 | if (ret) | ||
673 | return ret; | ||
672 | gfs2_ail_flush(ip->i_gl, 1); | 674 | gfs2_ail_flush(ip->i_gl, 1); |
673 | } | 675 | } |
674 | 676 | ||
675 | if (mapping->nrpages) | 677 | if (mapping->nrpages) |
676 | ret = filemap_fdatawait_range(mapping, start, end); | 678 | ret = file_fdatawait_range(file, start, end); |
677 | 679 | ||
678 | return ret ? ret : ret1; | 680 | return ret ? ret : ret1; |
679 | } | 681 | } |