diff options
-rw-r--r-- | lib/iov_iter.c | 10 |
1 files changed, 1 insertions, 9 deletions
diff --git a/lib/iov_iter.c b/lib/iov_iter.c index 8c6cdc1cf832..c78129e709f2 100644 --- a/lib/iov_iter.c +++ b/lib/iov_iter.c @@ -1386,15 +1386,7 @@ static ssize_t iter_xarray_get_pages(struct iov_iter *i, offset = pos & ~PAGE_MASK; *_start_offset = offset; - count = 1; - if (size > PAGE_SIZE - offset) { - size -= PAGE_SIZE - offset; - count += size >> PAGE_SHIFT; - size &= ~PAGE_MASK; - if (size) - count++; - } - + count = DIV_ROUND_UP(size + offset, PAGE_SIZE); if (count > maxpages) count = maxpages; |