fs: convert sync_file_range to use errseq_t based error-tracking

sync_file_range doesn't call down into the filesystem directly at all.
It only kicks off writeback of pagecache pages and optionally waits
on the result.

Convert sync_file_range to use errseq_t based error tracking, under the
assumption that most users will prefer this behavior when errors occur.

Reviewed-by: Jan Kara <jack@suse.cz>
Signed-off-by: Jeff Layton <jlayton@redhat.com>
This commit is contained in:
Jeff Layton 2017-07-24 06:22:14 -04:00
parent a823e4589e
commit 6454568d96

View File

@ -342,7 +342,7 @@ SYSCALL_DEFINE4(sync_file_range, int, fd, loff_t, offset, loff_t, nbytes,
ret = 0; ret = 0;
if (flags & SYNC_FILE_RANGE_WAIT_BEFORE) { if (flags & SYNC_FILE_RANGE_WAIT_BEFORE) {
ret = filemap_fdatawait_range(mapping, offset, endbyte); ret = file_fdatawait_range(f.file, offset, endbyte);
if (ret < 0) if (ret < 0)
goto out_put; goto out_put;
} }
@ -355,7 +355,7 @@ SYSCALL_DEFINE4(sync_file_range, int, fd, loff_t, offset, loff_t, nbytes,
} }
if (flags & SYNC_FILE_RANGE_WAIT_AFTER) if (flags & SYNC_FILE_RANGE_WAIT_AFTER)
ret = filemap_fdatawait_range(mapping, offset, endbyte); ret = file_fdatawait_range(f.file, offset, endbyte);
out_put: out_put:
fdput(f); fdput(f);