mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2024-11-24 12:44:11 +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;
|
||||
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)
|
||||
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)
|
||||
ret = filemap_fdatawait_range(mapping, offset, endbyte);
|
||||
ret = file_fdatawait_range(f.file, offset, endbyte);
|
||||
|
||||
out_put:
|
||||
fdput(f);
|
||||
|
Loading…
Reference in New Issue
Block a user