@@ -31,6 +31,7 @@ struct iov_iter {
31
31
size_t count ;
32
32
union {
33
33
const struct iovec * iov ;
34
+ const struct kvec * kvec ;
34
35
const struct bio_vec * bvec ;
35
36
};
36
37
unsigned long nr_segs ;
@@ -82,10 +83,13 @@ size_t copy_page_from_iter(struct page *page, size_t offset, size_t bytes,
82
83
struct iov_iter * i );
83
84
size_t copy_to_iter (void * addr , size_t bytes , struct iov_iter * i );
84
85
size_t copy_from_iter (void * addr , size_t bytes , struct iov_iter * i );
86
+ size_t copy_from_iter_nocache (void * addr , size_t bytes , struct iov_iter * i );
85
87
size_t iov_iter_zero (size_t bytes , struct iov_iter * );
86
88
unsigned long iov_iter_alignment (const struct iov_iter * i );
87
89
void iov_iter_init (struct iov_iter * i , int direction , const struct iovec * iov ,
88
90
unsigned long nr_segs , size_t count );
91
+ void iov_iter_kvec (struct iov_iter * i , int direction , const struct kvec * iov ,
92
+ unsigned long nr_segs , size_t count );
89
93
ssize_t iov_iter_get_pages (struct iov_iter * i , struct page * * pages ,
90
94
size_t maxsize , unsigned maxpages , size_t * start );
91
95
ssize_t iov_iter_get_pages_alloc (struct iov_iter * i , struct page * * * pages ,
@@ -123,6 +127,8 @@ static inline void iov_iter_reexpand(struct iov_iter *i, size_t count)
123
127
{
124
128
i -> count = count ;
125
129
}
130
+ size_t csum_and_copy_to_iter (void * addr , size_t bytes , __wsum * csum , struct iov_iter * i );
131
+ size_t csum_and_copy_from_iter (void * addr , size_t bytes , __wsum * csum , struct iov_iter * i );
126
132
127
133
int memcpy_fromiovec (unsigned char * kdata , struct iovec * iov , int len );
128
134
int memcpy_toiovec (struct iovec * iov , unsigned char * kdata , int len );
0 commit comments