mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2024-11-11 12:28:41 +08:00
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:
parent
a823e4589e
commit
6454568d96
@ -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);
|
||||||
|
Loading…
Reference in New Issue
Block a user