diff options
author | Al Viro <viro@zeniv.linux.org.uk> | 2021-04-30 16:26:41 +0200 |
---|---|---|
committer | Al Viro <viro@zeniv.linux.org.uk> | 2021-06-10 17:45:14 +0200 |
commit | f0b65f39ac505e8f1dcdaa165aa7b8c0bd6fd454 (patch) | |
tree | 05ad20f84ee097a534132fa9b2df9feae6d4a7d2 /fs/ntfs | |
parent | [xarray] iov_iter_npages(): just use DIV_ROUND_UP() (diff) | |
download | linux-f0b65f39ac505e8f1dcdaa165aa7b8c0bd6fd454.tar.xz linux-f0b65f39ac505e8f1dcdaa165aa7b8c0bd6fd454.zip |
iov_iter: replace iov_iter_copy_from_user_atomic() with iterator-advancing variant
Replacement is called copy_page_from_iter_atomic(); unlike the old primitive the
callers do *not* need to do iov_iter_advance() after it. In case when they end
up consuming less than they'd been given they need to do iov_iter_revert() on
everything they had not consumed. That, however, needs to be done only on slow
paths.
All in-tree callers converted. And that kills the last user of iterate_all_kinds()
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Diffstat (limited to 'fs/ntfs')
-rw-r--r-- | fs/ntfs/file.c | 4 |
1 files changed, 1 insertions, 3 deletions
diff --git a/fs/ntfs/file.c b/fs/ntfs/file.c index 0666d4578137..ab4f3362466d 100644 --- a/fs/ntfs/file.c +++ b/fs/ntfs/file.c @@ -1690,9 +1690,7 @@ static size_t ntfs_copy_from_user_iter(struct page **pages, unsigned nr_pages, len = PAGE_SIZE - ofs; if (len > bytes) len = bytes; - copied = iov_iter_copy_from_user_atomic(*pages, i, ofs, - len); - iov_iter_advance(i, copied); + copied = copy_page_from_iter_atomic(*pages, ofs, len, i); total += copied; bytes -= copied; if (!bytes) |