Lines Matching refs:offset
326 static inline bool page_copy_sane(struct page *page, size_t offset, size_t n) in page_copy_sane() argument
329 size_t v = n + offset; in page_copy_sane()
349 size_t copy_page_to_iter(struct page *page, size_t offset, size_t bytes, in copy_page_to_iter() argument
353 if (!page_copy_sane(page, offset, bytes)) in copy_page_to_iter()
357 page += offset / PAGE_SIZE; // first subpage in copy_page_to_iter()
358 offset %= PAGE_SIZE; in copy_page_to_iter()
361 size_t n = min(bytes, (size_t)PAGE_SIZE - offset); in copy_page_to_iter()
362 n = _copy_to_iter(kaddr + offset, n, i); in copy_page_to_iter()
368 offset += n; in copy_page_to_iter()
369 if (offset == PAGE_SIZE) { in copy_page_to_iter()
371 offset = 0; in copy_page_to_iter()
378 size_t copy_page_to_iter_nofault(struct page *page, unsigned offset, size_t bytes, in copy_page_to_iter_nofault() argument
383 if (!page_copy_sane(page, offset, bytes)) in copy_page_to_iter_nofault()
387 page += offset / PAGE_SIZE; // first subpage in copy_page_to_iter_nofault()
388 offset %= PAGE_SIZE; in copy_page_to_iter_nofault()
391 size_t n = min(bytes, (size_t)PAGE_SIZE - offset); in copy_page_to_iter_nofault()
393 n = iterate_and_advance(i, n, kaddr + offset, in copy_page_to_iter_nofault()
401 offset += n; in copy_page_to_iter_nofault()
402 if (offset == PAGE_SIZE) { in copy_page_to_iter_nofault()
404 offset = 0; in copy_page_to_iter_nofault()
411 size_t copy_page_from_iter(struct page *page, size_t offset, size_t bytes, in copy_page_from_iter() argument
415 if (!page_copy_sane(page, offset, bytes)) in copy_page_from_iter()
417 page += offset / PAGE_SIZE; // first subpage in copy_page_from_iter()
418 offset %= PAGE_SIZE; in copy_page_from_iter()
421 size_t n = min(bytes, (size_t)PAGE_SIZE - offset); in copy_page_from_iter()
422 n = _copy_from_iter(kaddr + offset, n, i); in copy_page_from_iter()
428 offset += n; in copy_page_from_iter()
429 if (offset == PAGE_SIZE) { in copy_page_from_iter()
431 offset = 0; in copy_page_from_iter()
460 size_t copy_folio_from_iter_atomic(struct folio *folio, size_t offset, in copy_folio_from_iter_atomic() argument
465 if (!page_copy_sane(&folio->page, offset, bytes)) in copy_folio_from_iter_atomic()
471 char *to = kmap_local_folio(folio, offset); in copy_folio_from_iter_atomic()
475 n > PAGE_SIZE - offset_in_page(offset)) in copy_folio_from_iter_atomic()
476 n = PAGE_SIZE - offset_in_page(offset); in copy_folio_from_iter_atomic()
483 offset += n; in copy_folio_from_iter_atomic()
724 unsigned int offset, size_t count) in iov_iter_folio_queue() argument
733 .iov_offset = offset, in iov_iter_folio_queue()
1020 size_t offset = iov_offset, fsize = folioq_folio_size(folioq, slot); in iter_folioq_get_pages() local
1021 size_t part = PAGE_SIZE - offset % PAGE_SIZE; in iter_folioq_get_pages()
1023 if (offset < fsize) { in iter_folioq_get_pages()
1024 part = umin(part, umin(maxsize - extracted, fsize - offset)); in iter_folioq_get_pages()
1029 *pages = folio_page(folio, offset / PAGE_SIZE); in iter_folioq_get_pages()
1086 unsigned nr, offset, count; in iter_xarray_get_pages() local
1092 offset = pos & ~PAGE_MASK; in iter_xarray_get_pages()
1093 *_start_offset = offset; in iter_xarray_get_pages()
1095 count = want_pages_array(pages, maxsize, offset, maxpages); in iter_xarray_get_pages()
1102 maxsize = min_t(size_t, nr * PAGE_SIZE - offset, maxsize); in iter_xarray_get_pages()
1293 unsigned offset = i->iov_offset % PAGE_SIZE; in iov_iter_npages() local
1294 int npages = DIV_ROUND_UP(offset + i->count, PAGE_SIZE); in iov_iter_npages()
1298 unsigned offset = (i->xarray_start + i->iov_offset) % PAGE_SIZE; in iov_iter_npages() local
1299 int npages = DIV_ROUND_UP(offset + i->count, PAGE_SIZE); in iov_iter_npages()
1591 size_t extracted = 0, offset, slot = i->folioq_slot; in iov_iter_extract_folioq_pages() local
1600 offset = i->iov_offset & ~PAGE_MASK; in iov_iter_extract_folioq_pages()
1601 *offset0 = offset; in iov_iter_extract_folioq_pages()
1603 maxpages = want_pages_array(pages, maxsize, offset, maxpages); in iov_iter_extract_folioq_pages()
1610 size_t offset = i->iov_offset, fsize = folioq_folio_size(folioq, slot); in iov_iter_extract_folioq_pages() local
1611 size_t part = PAGE_SIZE - offset % PAGE_SIZE; in iov_iter_extract_folioq_pages()
1613 if (offset < fsize) { in iov_iter_extract_folioq_pages()
1614 part = umin(part, umin(maxsize - extracted, fsize - offset)); in iov_iter_extract_folioq_pages()
1619 p[nr++] = folio_page(folio, offset / PAGE_SIZE); in iov_iter_extract_folioq_pages()
1652 unsigned int nr = 0, offset; in iov_iter_extract_xarray_pages() local
1656 offset = pos & ~PAGE_MASK; in iov_iter_extract_xarray_pages()
1657 *offset0 = offset; in iov_iter_extract_xarray_pages()
1659 maxpages = want_pages_array(pages, maxsize, offset, maxpages); in iov_iter_extract_xarray_pages()
1681 maxsize = min_t(size_t, nr * PAGE_SIZE - offset, maxsize); in iov_iter_extract_xarray_pages()
1765 size_t skip = i->iov_offset, offset, len, size; in iov_iter_extract_kvec_pages() local
1781 offset = (unsigned long)kaddr & ~PAGE_MASK; in iov_iter_extract_kvec_pages()
1782 *offset0 = offset; in iov_iter_extract_kvec_pages()
1784 maxpages = want_pages_array(pages, size, offset, maxpages); in iov_iter_extract_kvec_pages()
1789 kaddr -= offset; in iov_iter_extract_kvec_pages()
1790 len = offset + size; in iov_iter_extract_kvec_pages()
1804 size = min_t(size_t, size, maxpages * PAGE_SIZE - offset); in iov_iter_extract_kvec_pages()
1830 size_t offset; in iov_iter_extract_user_pages() local
1841 *offset0 = offset = addr % PAGE_SIZE; in iov_iter_extract_user_pages()
1843 maxpages = want_pages_array(pages, maxsize, offset, maxpages); in iov_iter_extract_user_pages()
1849 maxsize = min_t(size_t, maxsize, res * PAGE_SIZE - offset); in iov_iter_extract_user_pages()