Lines Matching refs:bvec
119 struct folio *folio = page_folio(imu->bvec[i].bv_page);
130 return kvmalloc(struct_size_t(struct io_mapped_ubuf, bvec, nr_bvecs),
171 const int imu_cache_size = struct_size_t(struct io_mapped_ubuf, bvec,
653 if (!PageCompound(imu->bvec[j].bv_page))
655 if (compound_head(imu->bvec[j].bv_page) == hpage)
809 /* If it's huge page(s), try to coalesce them into fewer bvec entries */
848 bvec_set_page(&imu->bvec[i], pages[i], vec_len, off);
992 imu->bvec[nr_bvecs++] = bv;
1056 iov_iter_bvec(iter, ddir, imu->bvec, imu->nr_bvecs, count);
1060 const struct bio_vec *bvec = iter->bvec;
1063 while (len > bvec->bv_len) {
1064 len -= bvec->bv_len;
1065 bvec++;
1067 iter->nr_segs = 1 + bvec - iter->bvec;
1076 const struct bio_vec *bvec;
1101 * first and last bvec
1104 bvec = imu->bvec;
1105 if (offset >= bvec->bv_len) {
1109 offset -= bvec->bv_len;
1111 bvec += seg_skip;
1114 nr_segs = (offset + len + bvec->bv_offset + folio_mask) >> imu->folio_shift;
1115 iov_iter_bvec(iter, ddir, bvec, nr_segs, len);
1352 struct bio_vec *res_bvec = vec->bvec;
1375 * Only the first bvec can have non zero bv_offset, account it
1378 offset += imu->bvec[0].bv_offset;
1380 src_bvec = imu->bvec + (offset >> imu->folio_shift);
1419 const struct bio_vec *src_bvec = imu->bvec;
1420 struct bio_vec *res_bvec = vec->bvec;
1447 const struct bio_vec *bvec = imu->bvec;
1457 off += bvec[i].bv_len, i++) {
1458 if (offset >= off && offset < off + bvec[i].bv_len)