Lines Matching refs:iter
109 static size_t netfs_limit_bvec(const struct iov_iter *iter, size_t start_offset, in netfs_limit_bvec() argument
112 const struct bio_vec *bvecs = iter->bvec; in netfs_limit_bvec()
113 unsigned int nbv = iter->nr_segs, ix = 0, nsegs = 0; in netfs_limit_bvec()
114 size_t len, span = 0, n = iter->count; in netfs_limit_bvec()
115 size_t skip = iter->iov_offset + start_offset; in netfs_limit_bvec()
117 if (WARN_ON(!iov_iter_is_bvec(iter)) || in netfs_limit_bvec()
151 static size_t netfs_limit_xarray(const struct iov_iter *iter, size_t start_offset, in netfs_limit_xarray() argument
156 loff_t pos = iter->xarray_start + iter->iov_offset; in netfs_limit_xarray()
158 size_t span = 0, n = iter->count; in netfs_limit_xarray()
160 XA_STATE(xas, iter->xarray, index); in netfs_limit_xarray()
162 if (WARN_ON(!iov_iter_is_xarray(iter)) || in netfs_limit_xarray()
196 static size_t netfs_limit_folioq(const struct iov_iter *iter, size_t start_offset, in netfs_limit_folioq() argument
199 const struct folio_queue *folioq = iter->folioq; in netfs_limit_folioq()
201 unsigned int slot = iter->folioq_slot; in netfs_limit_folioq()
202 size_t span = 0, n = iter->count; in netfs_limit_folioq()
204 if (WARN_ON(!iov_iter_is_folioq(iter)) || in netfs_limit_folioq()
215 start_offset += iter->iov_offset; in netfs_limit_folioq()
239 size_t netfs_limit_iter(const struct iov_iter *iter, size_t start_offset, in netfs_limit_iter() argument
242 if (iov_iter_is_folioq(iter)) in netfs_limit_iter()
243 return netfs_limit_folioq(iter, start_offset, max_size, max_segs); in netfs_limit_iter()
244 if (iov_iter_is_bvec(iter)) in netfs_limit_iter()
245 return netfs_limit_bvec(iter, start_offset, max_size, max_segs); in netfs_limit_iter()
246 if (iov_iter_is_xarray(iter)) in netfs_limit_iter()
247 return netfs_limit_xarray(iter, start_offset, max_size, max_segs); in netfs_limit_iter()