bioRegular
4.4: ✅struct bio {
struct bio *bi_next;
struct block_device *bi_bdev;
unsigned int bi_flags;
int bi_error;
long unsigned int bi_rw;
struct bvec_iter bi_iter;
unsigned int bi_phys_segments;
unsigned int bi_seg_front_size;
unsigned int bi_seg_back_size;
atomic_t __bi_remaining;
bio_end_io_t *bi_end_io;
void *bi_private;
struct io_context *bi_ioc;
struct cgroup_subsys_state *bi_css;
struct bio_integrity_payload *bi_integrity;
short unsigned int bi_vcnt;
short unsigned int bi_max_vecs;
atomic_t __bi_cnt;
struct bio_vec *bi_io_vec;
struct bio_set *bi_pool;
struct bio_vec bi_inline_vecs[0];
};
4.8: ✅struct bio {
struct bio *bi_next;
struct block_device *bi_bdev;
int bi_error;
unsigned int bi_opf;
short unsigned int bi_flags;
short unsigned int bi_ioprio;
struct bvec_iter bi_iter;
unsigned int bi_phys_segments;
unsigned int bi_seg_front_size;
unsigned int bi_seg_back_size;
atomic_t __bi_remaining;
bio_end_io_t *bi_end_io;
void *bi_private;
struct io_context *bi_ioc;
struct cgroup_subsys_state *bi_css;
struct bio_integrity_payload *bi_integrity;
short unsigned int bi_vcnt;
short unsigned int bi_max_vecs;
atomic_t __bi_cnt;
struct bio_vec *bi_io_vec;
struct bio_set *bi_pool;
struct bio_vec bi_inline_vecs[0];
};
4.10: ✅struct bio {
struct bio *bi_next;
struct block_device *bi_bdev;
int bi_error;
unsigned int bi_opf;
short unsigned int bi_flags;
short unsigned int bi_ioprio;
struct bvec_iter bi_iter;
unsigned int bi_phys_segments;
unsigned int bi_seg_front_size;
unsigned int bi_seg_back_size;
atomic_t __bi_remaining;
bio_end_io_t *bi_end_io;
void *bi_private;
struct io_context *bi_ioc;
struct cgroup_subsys_state *bi_css;
struct bio_integrity_payload *bi_integrity;
short unsigned int bi_vcnt;
short unsigned int bi_max_vecs;
atomic_t __bi_cnt;
struct bio_vec *bi_io_vec;
struct bio_set *bi_pool;
struct bio_vec bi_inline_vecs[0];
};
4.13: ✅struct bio {
struct bio *bi_next;
struct block_device *bi_bdev;
blk_status_t bi_status;
unsigned int bi_opf;
short unsigned int bi_flags;
short unsigned int bi_ioprio;
short unsigned int bi_write_hint;
struct bvec_iter bi_iter;
unsigned int bi_phys_segments;
unsigned int bi_seg_front_size;
unsigned int bi_seg_back_size;
atomic_t __bi_remaining;
bio_end_io_t *bi_end_io;
void *bi_private;
struct io_context *bi_ioc;
struct cgroup_subsys_state *bi_css;
struct bio_integrity_payload *bi_integrity;
short unsigned int bi_vcnt;
short unsigned int bi_max_vecs;
atomic_t __bi_cnt;
struct bio_vec *bi_io_vec;
struct bio_set *bi_pool;
struct bio_vec bi_inline_vecs[0];
};
4.15: ✅struct bio {
struct bio *bi_next;
struct gendisk *bi_disk;
unsigned int bi_opf;
short unsigned int bi_flags;
short unsigned int bi_ioprio;
short unsigned int bi_write_hint;
blk_status_t bi_status;
u8 bi_partno;
unsigned int bi_phys_segments;
unsigned int bi_seg_front_size;
unsigned int bi_seg_back_size;
struct bvec_iter bi_iter;
atomic_t __bi_remaining;
bio_end_io_t *bi_end_io;
void *bi_private;
struct io_context *bi_ioc;
struct cgroup_subsys_state *bi_css;
struct bio_integrity_payload *bi_integrity;
short unsigned int bi_vcnt;
short unsigned int bi_max_vecs;
atomic_t __bi_cnt;
struct bio_vec *bi_io_vec;
struct bio_set *bi_pool;
struct bio_vec bi_inline_vecs[0];
};
4.18: ✅struct bio {
struct bio *bi_next;
struct gendisk *bi_disk;
unsigned int bi_opf;
short unsigned int bi_flags;
short unsigned int bi_ioprio;
short unsigned int bi_write_hint;
blk_status_t bi_status;
u8 bi_partno;
unsigned int bi_phys_segments;
unsigned int bi_seg_front_size;
unsigned int bi_seg_back_size;
struct bvec_iter bi_iter;
atomic_t __bi_remaining;
bio_end_io_t *bi_end_io;
void *bi_private;
struct io_context *bi_ioc;
struct cgroup_subsys_state *bi_css;
struct bio_integrity_payload *bi_integrity;
short unsigned int bi_vcnt;
short unsigned int bi_max_vecs;
atomic_t __bi_cnt;
struct bio_vec *bi_io_vec;
struct bio_set *bi_pool;
struct bio_vec bi_inline_vecs[0];
};
5.0: ✅struct bio {
struct bio *bi_next;
struct gendisk *bi_disk;
unsigned int bi_opf;
short unsigned int bi_flags;
short unsigned int bi_ioprio;
short unsigned int bi_write_hint;
blk_status_t bi_status;
u8 bi_partno;
unsigned int bi_phys_segments;
unsigned int bi_seg_front_size;
unsigned int bi_seg_back_size;
struct bvec_iter bi_iter;
atomic_t __bi_remaining;
bio_end_io_t *bi_end_io;
void *bi_private;
struct blkcg_gq *bi_blkg;
struct bio_issue bi_issue;
struct bio_integrity_payload *bi_integrity;
short unsigned int bi_vcnt;
short unsigned int bi_max_vecs;
atomic_t __bi_cnt;
struct bio_vec *bi_io_vec;
struct bio_set *bi_pool;
struct bio_vec bi_inline_vecs[0];
};
5.3: ✅struct bio {
struct bio *bi_next;
struct gendisk *bi_disk;
unsigned int bi_opf;
short unsigned int bi_flags;
short unsigned int bi_ioprio;
short unsigned int bi_write_hint;
blk_status_t bi_status;
u8 bi_partno;
struct bvec_iter bi_iter;
atomic_t __bi_remaining;
bio_end_io_t *bi_end_io;
void *bi_private;
struct blkcg_gq *bi_blkg;
struct bio_issue bi_issue;
struct bio_integrity_payload *bi_integrity;
short unsigned int bi_vcnt;
short unsigned int bi_max_vecs;
atomic_t __bi_cnt;
struct bio_vec *bi_io_vec;
struct bio_set *bi_pool;
struct bio_vec bi_inline_vecs[0];
};
5.4: ✅struct bio {
struct bio *bi_next;
struct gendisk *bi_disk;
unsigned int bi_opf;
short unsigned int bi_flags;
short unsigned int bi_ioprio;
short unsigned int bi_write_hint;
blk_status_t bi_status;
u8 bi_partno;
struct bvec_iter bi_iter;
atomic_t __bi_remaining;
bio_end_io_t *bi_end_io;
void *bi_private;
struct blkcg_gq *bi_blkg;
struct bio_issue bi_issue;
u64 bi_iocost_cost;
struct bio_integrity_payload *bi_integrity;
short unsigned int bi_vcnt;
short unsigned int bi_max_vecs;
atomic_t __bi_cnt;
struct bio_vec *bi_io_vec;
struct bio_set *bi_pool;
struct bio_vec bi_inline_vecs[0];
};
5.8: ✅struct bio {
struct bio *bi_next;
struct gendisk *bi_disk;
unsigned int bi_opf;
short unsigned int bi_flags;
short unsigned int bi_ioprio;
short unsigned int bi_write_hint;
blk_status_t bi_status;
u8 bi_partno;
atomic_t __bi_remaining;
struct bvec_iter bi_iter;
bio_end_io_t *bi_end_io;
void *bi_private;
struct blkcg_gq *bi_blkg;
struct bio_issue bi_issue;
u64 bi_iocost_cost;
struct bio_crypt_ctx *bi_crypt_context;
struct bio_integrity_payload *bi_integrity;
short unsigned int bi_vcnt;
short unsigned int bi_max_vecs;
atomic_t __bi_cnt;
struct bio_vec *bi_io_vec;
struct bio_set *bi_pool;
struct bio_vec bi_inline_vecs[0];
};
5.11: ✅struct bio {
struct bio *bi_next;
struct gendisk *bi_disk;
unsigned int bi_opf;
short unsigned int bi_flags;
short unsigned int bi_ioprio;
short unsigned int bi_write_hint;
blk_status_t bi_status;
u8 bi_partno;
atomic_t __bi_remaining;
struct bvec_iter bi_iter;
bio_end_io_t *bi_end_io;
void *bi_private;
struct blkcg_gq *bi_blkg;
struct bio_issue bi_issue;
u64 bi_iocost_cost;
struct bio_crypt_ctx *bi_crypt_context;
struct bio_integrity_payload *bi_integrity;
short unsigned int bi_vcnt;
short unsigned int bi_max_vecs;
atomic_t __bi_cnt;
struct bio_vec *bi_io_vec;
struct bio_set *bi_pool;
struct bio_vec bi_inline_vecs[0];
};
5.13: ✅struct bio {
struct bio *bi_next;
struct block_device *bi_bdev;
unsigned int bi_opf;
short unsigned int bi_flags;
short unsigned int bi_ioprio;
short unsigned int bi_write_hint;
blk_status_t bi_status;
atomic_t __bi_remaining;
struct bvec_iter bi_iter;
bio_end_io_t *bi_end_io;
void *bi_private;
struct blkcg_gq *bi_blkg;
struct bio_issue bi_issue;
u64 bi_iocost_cost;
struct bio_crypt_ctx *bi_crypt_context;
struct bio_integrity_payload *bi_integrity;
short unsigned int bi_vcnt;
short unsigned int bi_max_vecs;
atomic_t __bi_cnt;
struct bio_vec *bi_io_vec;
struct bio_set *bi_pool;
struct bio_vec bi_inline_vecs[0];
};
5.15: ✅struct bio {
struct bio *bi_next;
struct block_device *bi_bdev;
unsigned int bi_opf;
short unsigned int bi_flags;
short unsigned int bi_ioprio;
short unsigned int bi_write_hint;
blk_status_t bi_status;
atomic_t __bi_remaining;
struct bvec_iter bi_iter;
bio_end_io_t *bi_end_io;
void *bi_private;
struct blkcg_gq *bi_blkg;
struct bio_issue bi_issue;
u64 bi_iocost_cost;
struct bio_crypt_ctx *bi_crypt_context;
struct bio_integrity_payload *bi_integrity;
short unsigned int bi_vcnt;
short unsigned int bi_max_vecs;
atomic_t __bi_cnt;
struct bio_vec *bi_io_vec;
struct bio_set *bi_pool;
struct bio_vec bi_inline_vecs[0];
};
5.19: ✅struct bio {
struct bio *bi_next;
struct block_device *bi_bdev;
unsigned int bi_opf;
short unsigned int bi_flags;
short unsigned int bi_ioprio;
blk_status_t bi_status;
atomic_t __bi_remaining;
struct bvec_iter bi_iter;
blk_qc_t bi_cookie;
bio_end_io_t *bi_end_io;
void *bi_private;
struct blkcg_gq *bi_blkg;
struct bio_issue bi_issue;
u64 bi_iocost_cost;
struct bio_crypt_ctx *bi_crypt_context;
struct bio_integrity_payload *bi_integrity;
short unsigned int bi_vcnt;
short unsigned int bi_max_vecs;
atomic_t __bi_cnt;
struct bio_vec *bi_io_vec;
struct bio_set *bi_pool;
struct bio_vec bi_inline_vecs[0];
};
6.2: ✅struct bio {
struct bio *bi_next;
struct block_device *bi_bdev;
blk_opf_t bi_opf;
short unsigned int bi_flags;
short unsigned int bi_ioprio;
blk_status_t bi_status;
atomic_t __bi_remaining;
struct bvec_iter bi_iter;
blk_qc_t bi_cookie;
bio_end_io_t *bi_end_io;
void *bi_private;
struct blkcg_gq *bi_blkg;
struct bio_issue bi_issue;
u64 bi_iocost_cost;
struct bio_crypt_ctx *bi_crypt_context;
struct bio_integrity_payload *bi_integrity;
short unsigned int bi_vcnt;
short unsigned int bi_max_vecs;
atomic_t __bi_cnt;
struct bio_vec *bi_io_vec;
struct bio_set *bi_pool;
struct bio_vec bi_inline_vecs[0];
};
6.5: ✅struct bio {
struct bio *bi_next;
struct block_device *bi_bdev;
blk_opf_t bi_opf;
short unsigned int bi_flags;
short unsigned int bi_ioprio;
blk_status_t bi_status;
atomic_t __bi_remaining;
struct bvec_iter bi_iter;
blk_qc_t bi_cookie;
bio_end_io_t *bi_end_io;
void *bi_private;
struct blkcg_gq *bi_blkg;
struct bio_issue bi_issue;
u64 bi_iocost_cost;
struct bio_crypt_ctx *bi_crypt_context;
struct bio_integrity_payload *bi_integrity;
short unsigned int bi_vcnt;
short unsigned int bi_max_vecs;
atomic_t __bi_cnt;
struct bio_vec *bi_io_vec;
struct bio_set *bi_pool;
struct bio_vec bi_inline_vecs[0];
};
6.8: ✅struct bio {
struct bio *bi_next;
struct block_device *bi_bdev;
blk_opf_t bi_opf;
short unsigned int bi_flags;
short unsigned int bi_ioprio;
blk_status_t bi_status;
atomic_t __bi_remaining;
struct bvec_iter bi_iter;
blk_qc_t bi_cookie;
bio_end_io_t *bi_end_io;
void *bi_private;
struct blkcg_gq *bi_blkg;
struct bio_issue bi_issue;
u64 bi_iocost_cost;
struct bio_crypt_ctx *bi_crypt_context;
struct bio_integrity_payload *bi_integrity;
short unsigned int bi_vcnt;
short unsigned int bi_max_vecs;
atomic_t __bi_cnt;
struct bio_vec *bi_io_vec;
struct bio_set *bi_pool;
struct bio_vec bi_inline_vecs[0];
};
arm64: ✅struct bio {
struct bio *bi_next;
struct gendisk *bi_disk;
unsigned int bi_opf;
short unsigned int bi_flags;
short unsigned int bi_ioprio;
short unsigned int bi_write_hint;
blk_status_t bi_status;
u8 bi_partno;
struct bvec_iter bi_iter;
atomic_t __bi_remaining;
bio_end_io_t *bi_end_io;
void *bi_private;
struct blkcg_gq *bi_blkg;
struct bio_issue bi_issue;
u64 bi_iocost_cost;
struct bio_integrity_payload *bi_integrity;
short unsigned int bi_vcnt;
short unsigned int bi_max_vecs;
atomic_t __bi_cnt;
struct bio_vec *bi_io_vec;
struct bio_set *bi_pool;
struct bio_vec bi_inline_vecs[0];
};
armhf: ✅struct bio {
struct bio *bi_next;
struct gendisk *bi_disk;
unsigned int bi_opf;
short unsigned int bi_flags;
short unsigned int bi_ioprio;
short unsigned int bi_write_hint;
blk_status_t bi_status;
u8 bi_partno;
struct bvec_iter bi_iter;
atomic_t __bi_remaining;
bio_end_io_t *bi_end_io;
void *bi_private;
struct blkcg_gq *bi_blkg;
struct bio_issue bi_issue;
u64 bi_iocost_cost;
struct bio_integrity_payload *bi_integrity;
short unsigned int bi_vcnt;
short unsigned int bi_max_vecs;
atomic_t __bi_cnt;
struct bio_vec *bi_io_vec;
struct bio_set *bi_pool;
struct bio_vec bi_inline_vecs[0];
};
ppc64el: ✅struct bio {
struct bio *bi_next;
struct gendisk *bi_disk;
unsigned int bi_opf;
short unsigned int bi_flags;
short unsigned int bi_ioprio;
short unsigned int bi_write_hint;
blk_status_t bi_status;
u8 bi_partno;
struct bvec_iter bi_iter;
atomic_t __bi_remaining;
bio_end_io_t *bi_end_io;
void *bi_private;
struct blkcg_gq *bi_blkg;
struct bio_issue bi_issue;
u64 bi_iocost_cost;
struct bio_integrity_payload *bi_integrity;
short unsigned int bi_vcnt;
short unsigned int bi_max_vecs;
atomic_t __bi_cnt;
struct bio_vec *bi_io_vec;
struct bio_set *bi_pool;
struct bio_vec bi_inline_vecs[0];
};
riscv64: ✅struct bio {
struct bio *bi_next;
struct gendisk *bi_disk;
unsigned int bi_opf;
short unsigned int bi_flags;
short unsigned int bi_ioprio;
short unsigned int bi_write_hint;
blk_status_t bi_status;
u8 bi_partno;
struct bvec_iter bi_iter;
atomic_t __bi_remaining;
bio_end_io_t *bi_end_io;
void *bi_private;
struct blkcg_gq *bi_blkg;
struct bio_issue bi_issue;
u64 bi_iocost_cost;
struct bio_integrity_payload *bi_integrity;
short unsigned int bi_vcnt;
short unsigned int bi_max_vecs;
atomic_t __bi_cnt;
struct bio_vec *bi_io_vec;
struct bio_set *bi_pool;
struct bio_vec bi_inline_vecs[0];
};
aws: ✅struct bio {
struct bio *bi_next;
struct gendisk *bi_disk;
unsigned int bi_opf;
short unsigned int bi_flags;
short unsigned int bi_ioprio;
short unsigned int bi_write_hint;
blk_status_t bi_status;
u8 bi_partno;
struct bvec_iter bi_iter;
atomic_t __bi_remaining;
bio_end_io_t *bi_end_io;
void *bi_private;
struct blkcg_gq *bi_blkg;
struct bio_issue bi_issue;
u64 bi_iocost_cost;
struct bio_integrity_payload *bi_integrity;
short unsigned int bi_vcnt;
short unsigned int bi_max_vecs;
atomic_t __bi_cnt;
struct bio_vec *bi_io_vec;
struct bio_set *bi_pool;
struct bio_vec bi_inline_vecs[0];
};
azure: ✅struct bio {
struct bio *bi_next;
struct gendisk *bi_disk;
unsigned int bi_opf;
short unsigned int bi_flags;
short unsigned int bi_ioprio;
short unsigned int bi_write_hint;
blk_status_t bi_status;
u8 bi_partno;
struct bvec_iter bi_iter;
atomic_t __bi_remaining;
bio_end_io_t *bi_end_io;
void *bi_private;
struct blkcg_gq *bi_blkg;
struct bio_issue bi_issue;
u64 bi_iocost_cost;
struct bio_integrity_payload *bi_integrity;
short unsigned int bi_vcnt;
short unsigned int bi_max_vecs;
atomic_t __bi_cnt;
struct bio_vec *bi_io_vec;
struct bio_set *bi_pool;
struct bio_vec bi_inline_vecs[0];
};
gcp: ✅struct bio {
struct bio *bi_next;
struct gendisk *bi_disk;
unsigned int bi_opf;
short unsigned int bi_flags;
short unsigned int bi_ioprio;
short unsigned int bi_write_hint;
blk_status_t bi_status;
u8 bi_partno;
struct bvec_iter bi_iter;
atomic_t __bi_remaining;
bio_end_io_t *bi_end_io;
void *bi_private;
struct blkcg_gq *bi_blkg;
struct bio_issue bi_issue;
u64 bi_iocost_cost;
struct bio_integrity_payload *bi_integrity;
short unsigned int bi_vcnt;
short unsigned int bi_max_vecs;
atomic_t __bi_cnt;
struct bio_vec *bi_io_vec;
struct bio_set *bi_pool;
struct bio_vec bi_inline_vecs[0];
};
lowlatency: ✅struct bio {
struct bio *bi_next;
struct gendisk *bi_disk;
unsigned int bi_opf;
short unsigned int bi_flags;
short unsigned int bi_ioprio;
short unsigned int bi_write_hint;
blk_status_t bi_status;
u8 bi_partno;
struct bvec_iter bi_iter;
atomic_t __bi_remaining;
bio_end_io_t *bi_end_io;
void *bi_private;
struct blkcg_gq *bi_blkg;
struct bio_issue bi_issue;
u64 bi_iocost_cost;
struct bio_integrity_payload *bi_integrity;
short unsigned int bi_vcnt;
short unsigned int bi_max_vecs;
atomic_t __bi_cnt;
struct bio_vec *bi_io_vec;
struct bio_set *bi_pool;
struct bio_vec bi_inline_vecs[0];
};
Regular
4.4 and 4.8 ⚠️unsigned int bi_opf
short unsigned int bi_ioprio
long unsigned int bi_rw
unsigned int bi_flags ➡️ short unsigned int bi_flags
4.8 and 4.10 ✅
4.10 and 4.13 ⚠️blk_status_t bi_status
short unsigned int bi_write_hint
int bi_error
4.13 and 4.15 ⚠️struct gendisk *bi_disk
u8 bi_partno
struct block_device *bi_bdev
4.15 and 4.18 ✅
4.18 and 5.0 ⚠️struct blkcg_gq *bi_blkg
struct bio_issue bi_issue
struct io_context *bi_ioc
struct cgroup_subsys_state *bi_css
5.0 and 5.3 ⚠️unsigned int bi_phys_segments
unsigned int bi_seg_front_size
unsigned int bi_seg_back_size
5.3 and 5.4 ⚠️u64 bi_iocost_cost
5.4 and 5.8 ⚠️struct bio_crypt_ctx *bi_crypt_context
5.8 and 5.11 ✅
5.11 and 5.13 ⚠️struct block_device *bi_bdev
struct gendisk *bi_disk
u8 bi_partno
5.13 and 5.15 ✅
5.15 and 5.19 ⚠️blk_qc_t bi_cookie
short unsigned int bi_write_hint
5.19 and 6.2 ⚠️unsigned int bi_opf ➡️ blk_opf_t bi_opf
6.2 and 6.5 ✅
6.5 and 6.8 ✅
amd64 and arm64 ✅
amd64 and armhf ✅
amd64 and ppc64el ✅
amd64 and riscv64 ✅
generic and aws ✅
generic and azure ✅
generic and gcp ✅
generic and lowlatency ✅