Lines Matching refs:iov_iter
41 struct iov_iter { struct
86 static inline const struct iovec *iter_iov(const struct iov_iter *iter) in iter_iov() argument
96 static inline enum iter_type iov_iter_type(const struct iov_iter *i) in iov_iter_type()
101 static inline void iov_iter_save_state(struct iov_iter *iter, in iov_iter_save_state()
109 static inline bool iter_is_ubuf(const struct iov_iter *i) in iter_is_ubuf()
114 static inline bool iter_is_iovec(const struct iov_iter *i) in iter_is_iovec()
119 static inline bool iov_iter_is_kvec(const struct iov_iter *i) in iov_iter_is_kvec()
124 static inline bool iov_iter_is_bvec(const struct iov_iter *i) in iov_iter_is_bvec()
129 static inline bool iov_iter_is_discard(const struct iov_iter *i) in iov_iter_is_discard()
134 static inline bool iov_iter_is_xarray(const struct iov_iter *i) in iov_iter_is_xarray()
139 static inline unsigned char iov_iter_rw(const struct iov_iter *i) in iov_iter_rw()
144 static inline bool user_backed_iter(const struct iov_iter *i) in user_backed_iter()
167 size_t bytes, struct iov_iter *i);
168 void iov_iter_advance(struct iov_iter *i, size_t bytes);
169 void iov_iter_revert(struct iov_iter *i, size_t bytes);
170 size_t fault_in_iov_iter_readable(const struct iov_iter *i, size_t bytes);
171 size_t fault_in_iov_iter_writeable(const struct iov_iter *i, size_t bytes);
172 size_t iov_iter_single_seg_count(const struct iov_iter *i);
174 struct iov_iter *i);
176 struct iov_iter *i);
178 size_t _copy_to_iter(const void *addr, size_t bytes, struct iov_iter *i);
179 size_t _copy_from_iter(void *addr, size_t bytes, struct iov_iter *i);
180 size_t _copy_from_iter_nocache(void *addr, size_t bytes, struct iov_iter *i);
183 size_t bytes, struct iov_iter *i) in copy_folio_to_iter()
189 size_t offset, size_t bytes, struct iov_iter *i) in copy_folio_from_iter_atomic()
195 size_t bytes, struct iov_iter *i);
198 size_t copy_to_iter(const void *addr, size_t bytes, struct iov_iter *i) in copy_to_iter()
206 size_t copy_from_iter(void *addr, size_t bytes, struct iov_iter *i) in copy_from_iter()
214 bool copy_from_iter_full(void *addr, size_t bytes, struct iov_iter *i) in copy_from_iter_full()
224 size_t copy_from_iter_nocache(void *addr, size_t bytes, struct iov_iter *i) in copy_from_iter_nocache()
232 bool copy_from_iter_full_nocache(void *addr, size_t bytes, struct iov_iter *i) in copy_from_iter_full_nocache()
248 size_t _copy_from_iter_flushcache(void *addr, size_t bytes, struct iov_iter *i);
254 size_t _copy_mc_to_iter(const void *addr, size_t bytes, struct iov_iter *i);
255 static inline void iov_iter_set_copy_mc(struct iov_iter *i) in iov_iter_set_copy_mc()
260 static inline bool iov_iter_is_copy_mc(const struct iov_iter *i) in iov_iter_is_copy_mc()
266 static inline void iov_iter_set_copy_mc(struct iov_iter *i) { } in iov_iter_set_copy_mc()
267 static inline bool iov_iter_is_copy_mc(const struct iov_iter *i) in iov_iter_is_copy_mc()
273 size_t iov_iter_zero(size_t bytes, struct iov_iter *);
274 bool iov_iter_is_aligned(const struct iov_iter *i, unsigned addr_mask,
276 unsigned long iov_iter_alignment(const struct iov_iter *i);
277 unsigned long iov_iter_gap_alignment(const struct iov_iter *i);
278 void iov_iter_init(struct iov_iter *i, unsigned int direction, const struct iovec *iov,
280 void iov_iter_kvec(struct iov_iter *i, unsigned int direction, const struct kvec *kvec,
282 void iov_iter_bvec(struct iov_iter *i, unsigned int direction, const struct bio_vec *bvec,
284 void iov_iter_discard(struct iov_iter *i, unsigned int direction, size_t count);
285 void iov_iter_xarray(struct iov_iter *i, unsigned int direction, struct xarray *xarray,
287 ssize_t iov_iter_get_pages2(struct iov_iter *i, struct page **pages,
289 ssize_t iov_iter_get_pages_alloc2(struct iov_iter *i, struct page ***pages,
291 int iov_iter_npages(const struct iov_iter *i, int maxpages);
292 void iov_iter_restore(struct iov_iter *i, struct iov_iter_state *state);
294 const void *dup_iter(struct iov_iter *new, struct iov_iter *old, gfp_t flags);
296 static inline size_t iov_iter_count(const struct iov_iter *i) in iov_iter_count()
307 static inline void iov_iter_truncate(struct iov_iter *i, u64 count) in iov_iter_truncate()
323 static inline void iov_iter_reexpand(struct iov_iter *i, size_t count) in iov_iter_reexpand()
329 iov_iter_npages_cap(struct iov_iter *i, int maxpages, size_t max_bytes) in iov_iter_npages_cap()
350 size_t csum_and_copy_to_iter(const void *addr, size_t bytes, void *csstate, struct iov_iter *i);
351 size_t csum_and_copy_from_iter(void *addr, size_t bytes, __wsum *csum, struct iov_iter *i);
355 __wsum *csum, struct iov_iter *i) in csum_and_copy_from_iter_full()
364 struct iov_iter *i);
371 struct iov_iter *i);
374 struct iov_iter *i, bool compat);
376 struct iovec *iov, struct iov_iter *i);
377 int import_ubuf(int type, void __user *buf, size_t len, struct iov_iter *i);
379 static inline void iov_iter_ubuf(struct iov_iter *i, unsigned int direction, in iov_iter_ubuf()
383 *i = (struct iov_iter) { in iov_iter_ubuf()
397 ssize_t iov_iter_extract_pages(struct iov_iter *i, struct page ***pages,
418 static inline bool iov_iter_extract_will_pin(const struct iov_iter *iter) in iov_iter_extract_will_pin()
424 ssize_t extract_iter_to_sg(struct iov_iter *iter, size_t len,