• Home
  • Raw
  • Download

Lines Matching refs:i

95 static inline enum iter_type iov_iter_type(const struct iov_iter *i)  in iov_iter_type()  argument
97 return i->iter_type; in iov_iter_type()
108 static inline bool iter_is_ubuf(const struct iov_iter *i) in iter_is_ubuf() argument
110 return iov_iter_type(i) == ITER_UBUF; in iter_is_ubuf()
113 static inline bool iter_is_iovec(const struct iov_iter *i) in iter_is_iovec() argument
115 return iov_iter_type(i) == ITER_IOVEC; in iter_is_iovec()
118 static inline bool iov_iter_is_kvec(const struct iov_iter *i) in iov_iter_is_kvec() argument
120 return iov_iter_type(i) == ITER_KVEC; in iov_iter_is_kvec()
123 static inline bool iov_iter_is_bvec(const struct iov_iter *i) in iov_iter_is_bvec() argument
125 return iov_iter_type(i) == ITER_BVEC; in iov_iter_is_bvec()
128 static inline bool iov_iter_is_discard(const struct iov_iter *i) in iov_iter_is_discard() argument
130 return iov_iter_type(i) == ITER_DISCARD; in iov_iter_is_discard()
133 static inline bool iov_iter_is_folioq(const struct iov_iter *i) in iov_iter_is_folioq() argument
135 return iov_iter_type(i) == ITER_FOLIOQ; in iov_iter_is_folioq()
138 static inline bool iov_iter_is_xarray(const struct iov_iter *i) in iov_iter_is_xarray() argument
140 return iov_iter_type(i) == ITER_XARRAY; in iov_iter_is_xarray()
143 static inline unsigned char iov_iter_rw(const struct iov_iter *i) in iov_iter_rw() argument
145 return i->data_source ? WRITE : READ; in iov_iter_rw()
148 static inline bool user_backed_iter(const struct iov_iter *i) in user_backed_iter() argument
150 return iter_is_ubuf(i) || iter_is_iovec(i); in user_backed_iter()
171 size_t bytes, struct iov_iter *i);
172 void iov_iter_advance(struct iov_iter *i, size_t bytes);
173 void iov_iter_revert(struct iov_iter *i, size_t bytes);
174 size_t fault_in_iov_iter_readable(const struct iov_iter *i, size_t bytes);
175 size_t fault_in_iov_iter_writeable(const struct iov_iter *i, size_t bytes);
176 size_t iov_iter_single_seg_count(const struct iov_iter *i);
178 struct iov_iter *i);
180 struct iov_iter *i);
182 size_t _copy_to_iter(const void *addr, size_t bytes, struct iov_iter *i);
183 size_t _copy_from_iter(void *addr, size_t bytes, struct iov_iter *i);
184 size_t _copy_from_iter_nocache(void *addr, size_t bytes, struct iov_iter *i);
187 size_t bytes, struct iov_iter *i) in copy_folio_to_iter() argument
189 return copy_page_to_iter(&folio->page, offset, bytes, i); in copy_folio_to_iter()
193 size_t bytes, struct iov_iter *i) in copy_folio_from_iter() argument
195 return copy_page_from_iter(&folio->page, offset, bytes, i); in copy_folio_from_iter()
199 size_t offset, size_t bytes, struct iov_iter *i) in copy_folio_from_iter_atomic() argument
201 return copy_page_from_iter_atomic(&folio->page, offset, bytes, i); in copy_folio_from_iter_atomic()
205 size_t bytes, struct iov_iter *i);
208 size_t copy_to_iter(const void *addr, size_t bytes, struct iov_iter *i) in copy_to_iter() argument
211 return _copy_to_iter(addr, bytes, i); in copy_to_iter()
216 size_t copy_from_iter(void *addr, size_t bytes, struct iov_iter *i) in copy_from_iter() argument
219 return _copy_from_iter(addr, bytes, i); in copy_from_iter()
224 bool copy_to_iter_full(const void *addr, size_t bytes, struct iov_iter *i) in copy_to_iter_full() argument
226 size_t copied = copy_to_iter(addr, bytes, i); in copy_to_iter_full()
229 iov_iter_revert(i, copied); in copy_to_iter_full()
234 bool copy_from_iter_full(void *addr, size_t bytes, struct iov_iter *i) in copy_from_iter_full() argument
236 size_t copied = copy_from_iter(addr, bytes, i); in copy_from_iter_full()
239 iov_iter_revert(i, copied); in copy_from_iter_full()
244 size_t copy_from_iter_nocache(void *addr, size_t bytes, struct iov_iter *i) in copy_from_iter_nocache() argument
247 return _copy_from_iter_nocache(addr, bytes, i); in copy_from_iter_nocache()
252 bool copy_from_iter_full_nocache(void *addr, size_t bytes, struct iov_iter *i) in copy_from_iter_full_nocache() argument
254 size_t copied = copy_from_iter_nocache(addr, bytes, i); in copy_from_iter_full_nocache()
257 iov_iter_revert(i, copied); in copy_from_iter_full_nocache()
268 size_t _copy_from_iter_flushcache(void *addr, size_t bytes, struct iov_iter *i);
274 size_t _copy_mc_to_iter(const void *addr, size_t bytes, struct iov_iter *i);
280 bool iov_iter_is_aligned(const struct iov_iter *i, unsigned addr_mask,
282 unsigned long iov_iter_alignment(const struct iov_iter *i);
283 unsigned long iov_iter_gap_alignment(const struct iov_iter *i);
284 void iov_iter_init(struct iov_iter *i, unsigned int direction, const struct iovec *iov,
286 void iov_iter_kvec(struct iov_iter *i, unsigned int direction, const struct kvec *kvec,
288 void iov_iter_bvec(struct iov_iter *i, unsigned int direction, const struct bio_vec *bvec,
290 void iov_iter_discard(struct iov_iter *i, unsigned int direction, size_t count);
291 void iov_iter_folio_queue(struct iov_iter *i, unsigned int direction,
294 void iov_iter_xarray(struct iov_iter *i, unsigned int direction, struct xarray *xarray,
296 ssize_t iov_iter_get_pages2(struct iov_iter *i, struct page **pages,
298 ssize_t iov_iter_get_pages_alloc2(struct iov_iter *i, struct page ***pages,
300 int iov_iter_npages(const struct iov_iter *i, int maxpages);
301 void iov_iter_restore(struct iov_iter *i, struct iov_iter_state *state);
305 static inline size_t iov_iter_count(const struct iov_iter *i) in iov_iter_count() argument
307 return i->count; in iov_iter_count()
316 static inline void iov_iter_truncate(struct iov_iter *i, u64 count) in iov_iter_truncate() argument
324 if (i->count > count) in iov_iter_truncate()
325 i->count = count; in iov_iter_truncate()
332 static inline void iov_iter_reexpand(struct iov_iter *i, size_t count) in iov_iter_reexpand() argument
334 i->count = count; in iov_iter_reexpand()
338 iov_iter_npages_cap(struct iov_iter *i, int maxpages, size_t max_bytes) in iov_iter_npages_cap() argument
343 if (iov_iter_count(i) > max_bytes) { in iov_iter_npages_cap()
344 shorted = iov_iter_count(i) - max_bytes; in iov_iter_npages_cap()
345 iov_iter_truncate(i, max_bytes); in iov_iter_npages_cap()
347 npages = iov_iter_npages(i, maxpages); in iov_iter_npages_cap()
349 iov_iter_reexpand(i, iov_iter_count(i) + shorted); in iov_iter_npages_cap()
359 struct iov_iter *i);
362 struct iov_iter *i, bool compat);
363 int import_ubuf(int type, void __user *buf, size_t len, struct iov_iter *i);
365 static inline void iov_iter_ubuf(struct iov_iter *i, unsigned int direction, in iov_iter_ubuf() argument
369 *i = (struct iov_iter) { in iov_iter_ubuf()
381 ssize_t iov_iter_extract_pages(struct iov_iter *i, struct page ***pages,