iov_iter
Regular
4.4
: ✅struct iov_iter {
int type;
size_t iov_offset;
size_t count;
const struct iovec *iov;
const struct kvec *kvec;
const struct bio_vec *bvec;
long unsigned int nr_segs;
};
4.8
: ✅struct iov_iter {
int type;
size_t iov_offset;
size_t count;
const struct iovec *iov;
const struct kvec *kvec;
const struct bio_vec *bvec;
long unsigned int nr_segs;
};
4.10
: ✅struct iov_iter {
int type;
size_t iov_offset;
size_t count;
const struct iovec *iov;
const struct kvec *kvec;
const struct bio_vec *bvec;
struct pipe_inode_info *pipe;
long unsigned int nr_segs;
int idx;
};
4.13
: ✅struct iov_iter {
int type;
size_t iov_offset;
size_t count;
const struct iovec *iov;
const struct kvec *kvec;
const struct bio_vec *bvec;
struct pipe_inode_info *pipe;
long unsigned int nr_segs;
int idx;
int start_idx;
};
4.15
: ✅struct iov_iter {
int type;
size_t iov_offset;
size_t count;
const struct iovec *iov;
const struct kvec *kvec;
const struct bio_vec *bvec;
struct pipe_inode_info *pipe;
long unsigned int nr_segs;
int idx;
int start_idx;
};
4.18
: ✅struct iov_iter {
int type;
size_t iov_offset;
size_t count;
const struct iovec *iov;
const struct kvec *kvec;
const struct bio_vec *bvec;
struct pipe_inode_info *pipe;
long unsigned int nr_segs;
int idx;
int start_idx;
};
5.0
: ✅struct iov_iter {
unsigned int type;
size_t iov_offset;
size_t count;
const struct iovec *iov;
const struct kvec *kvec;
const struct bio_vec *bvec;
struct pipe_inode_info *pipe;
long unsigned int nr_segs;
int idx;
int start_idx;
};
5.3
: ✅struct iov_iter {
unsigned int type;
size_t iov_offset;
size_t count;
const struct iovec *iov;
const struct kvec *kvec;
const struct bio_vec *bvec;
struct pipe_inode_info *pipe;
long unsigned int nr_segs;
int idx;
int start_idx;
};
5.4
: ✅struct iov_iter {
unsigned int type;
size_t iov_offset;
size_t count;
const struct iovec *iov;
const struct kvec *kvec;
const struct bio_vec *bvec;
struct pipe_inode_info *pipe;
long unsigned int nr_segs;
int idx;
int start_idx;
};
5.8
: ✅struct iov_iter {
unsigned int type;
size_t iov_offset;
size_t count;
const struct iovec *iov;
const struct kvec *kvec;
const struct bio_vec *bvec;
struct pipe_inode_info *pipe;
long unsigned int nr_segs;
unsigned int head;
unsigned int start_head;
};
5.11
: ✅struct iov_iter {
unsigned int type;
size_t iov_offset;
size_t count;
const struct iovec *iov;
const struct kvec *kvec;
const struct bio_vec *bvec;
struct pipe_inode_info *pipe;
long unsigned int nr_segs;
unsigned int head;
unsigned int start_head;
};
5.13
: ✅struct iov_iter {
unsigned int type;
size_t iov_offset;
size_t count;
const struct iovec *iov;
const struct kvec *kvec;
const struct bio_vec *bvec;
struct xarray *xarray;
struct pipe_inode_info *pipe;
long unsigned int nr_segs;
unsigned int head;
unsigned int start_head;
loff_t xarray_start;
};
5.15
: ✅struct iov_iter {
u8 iter_type;
bool data_source;
size_t iov_offset;
size_t count;
const struct iovec *iov;
const struct kvec *kvec;
const struct bio_vec *bvec;
struct xarray *xarray;
struct pipe_inode_info *pipe;
long unsigned int nr_segs;
unsigned int head;
unsigned int start_head;
loff_t xarray_start;
};
5.19
: ✅struct iov_iter {
u8 iter_type;
bool nofault;
bool data_source;
size_t iov_offset;
size_t count;
const struct iovec *iov;
const struct kvec *kvec;
const struct bio_vec *bvec;
struct xarray *xarray;
struct pipe_inode_info *pipe;
long unsigned int nr_segs;
unsigned int head;
unsigned int start_head;
loff_t xarray_start;
};
6.2
: ✅struct iov_iter {
u8 iter_type;
bool nofault;
bool data_source;
bool user_backed;
size_t iov_offset;
int last_offset;
size_t count;
const struct iovec *iov;
const struct kvec *kvec;
const struct bio_vec *bvec;
struct xarray *xarray;
struct pipe_inode_info *pipe;
void *ubuf;
long unsigned int nr_segs;
unsigned int head;
unsigned int start_head;
loff_t xarray_start;
};
6.5
: ✅struct iov_iter {
u8 iter_type;
bool copy_mc;
bool nofault;
bool data_source;
bool user_backed;
size_t iov_offset;
int last_offset;
struct iovec __ubuf_iovec;
const struct iovec *__iov;
const struct kvec *kvec;
const struct bio_vec *bvec;
struct xarray *xarray;
void *ubuf;
size_t count;
long unsigned int nr_segs;
loff_t xarray_start;
};
6.8
: ✅struct iov_iter {
u8 iter_type;
bool nofault;
bool data_source;
size_t iov_offset;
struct iovec __ubuf_iovec;
const struct iovec *__iov;
const struct kvec *kvec;
const struct bio_vec *bvec;
struct xarray *xarray;
void *ubuf;
size_t count;
long unsigned int nr_segs;
loff_t xarray_start;
};
arm64
: ✅struct iov_iter {
unsigned int type;
size_t iov_offset;
size_t count;
const struct iovec *iov;
const struct kvec *kvec;
const struct bio_vec *bvec;
struct pipe_inode_info *pipe;
long unsigned int nr_segs;
int idx;
int start_idx;
};
armhf
: ✅struct iov_iter {
unsigned int type;
size_t iov_offset;
size_t count;
const struct iovec *iov;
const struct kvec *kvec;
const struct bio_vec *bvec;
struct pipe_inode_info *pipe;
long unsigned int nr_segs;
int idx;
int start_idx;
};
ppc64el
: ✅struct iov_iter {
unsigned int type;
size_t iov_offset;
size_t count;
const struct iovec *iov;
const struct kvec *kvec;
const struct bio_vec *bvec;
struct pipe_inode_info *pipe;
long unsigned int nr_segs;
int idx;
int start_idx;
};
riscv64
: ✅struct iov_iter {
unsigned int type;
size_t iov_offset;
size_t count;
const struct iovec *iov;
const struct kvec *kvec;
const struct bio_vec *bvec;
struct pipe_inode_info *pipe;
long unsigned int nr_segs;
int idx;
int start_idx;
};
aws
: ✅struct iov_iter {
unsigned int type;
size_t iov_offset;
size_t count;
const struct iovec *iov;
const struct kvec *kvec;
const struct bio_vec *bvec;
struct pipe_inode_info *pipe;
long unsigned int nr_segs;
int idx;
int start_idx;
};
azure
: ✅struct iov_iter {
unsigned int type;
size_t iov_offset;
size_t count;
const struct iovec *iov;
const struct kvec *kvec;
const struct bio_vec *bvec;
struct pipe_inode_info *pipe;
long unsigned int nr_segs;
int idx;
int start_idx;
};
gcp
: ✅struct iov_iter {
unsigned int type;
size_t iov_offset;
size_t count;
const struct iovec *iov;
const struct kvec *kvec;
const struct bio_vec *bvec;
struct pipe_inode_info *pipe;
long unsigned int nr_segs;
int idx;
int start_idx;
};
lowlatency
: ✅struct iov_iter {
unsigned int type;
size_t iov_offset;
size_t count;
const struct iovec *iov;
const struct kvec *kvec;
const struct bio_vec *bvec;
struct pipe_inode_info *pipe;
long unsigned int nr_segs;
int idx;
int start_idx;
};
Regular
4.4
and 4.8
✅
4.8
and 4.10
⚠️struct pipe_inode_info *pipe
int idx
4.10
and 4.13
⚠️int start_idx
4.13
and 4.15
✅
4.15
and 4.18
✅
4.18
and 5.0
⚠️int type
➡️ unsigned int type
5.0
and 5.3
✅
5.3
and 5.4
✅
5.4
and 5.8
⚠️unsigned int head
unsigned int start_head
int idx
int start_idx
5.8
and 5.11
✅
5.11
and 5.13
⚠️struct xarray *xarray
loff_t xarray_start
5.13
and 5.15
⚠️u8 iter_type
bool data_source
unsigned int type
5.15
and 5.19
⚠️bool nofault
5.19
and 6.2
⚠️bool user_backed
int last_offset
void *ubuf
6.2
and 6.5
⚠️bool copy_mc
struct iovec __ubuf_iovec
const struct iovec *__iov
const struct iovec *iov
struct pipe_inode_info *pipe
unsigned int head
unsigned int start_head
6.5
and 6.8
⚠️bool copy_mc
bool user_backed
int last_offset
amd64
and arm64
✅
amd64
and armhf
✅
amd64
and ppc64el
✅
amd64
and riscv64
✅
generic
and aws
✅
generic
and azure
✅
generic
and gcp
✅
generic
and lowlatency
✅