requestRegular
4.4: ✅struct request {
struct list_head queuelist;
struct call_single_data csd;
long unsigned int fifo_time;
struct request_queue *q;
struct blk_mq_ctx *mq_ctx;
u64 cmd_flags;
unsigned int cmd_type;
long unsigned int atomic_flags;
int cpu;
unsigned int __data_len;
sector_t __sector;
struct bio *bio;
struct bio *biotail;
struct hlist_node hash;
struct list_head ipi_list;
struct rb_node rb_node;
void *completion_data;
struct (anon) elv;
struct (anon) flush;
struct gendisk *rq_disk;
struct hd_struct *part;
long unsigned int start_time;
struct request_list *rl;
long long unsigned int start_time_ns;
long long unsigned int io_start_time_ns;
short unsigned int nr_phys_segments;
short unsigned int nr_integrity_segments;
short unsigned int ioprio;
void *special;
int tag;
int errors;
unsigned char __cmd[16];
unsigned char *cmd;
short unsigned int cmd_len;
unsigned int extra_len;
unsigned int sense_len;
unsigned int resid_len;
void *sense;
long unsigned int deadline;
struct list_head timeout_list;
unsigned int timeout;
int retries;
rq_end_io_fn *end_io;
void *end_io_data;
struct request *next_rq;
};
4.8: ✅struct request {
struct list_head queuelist;
struct call_single_data csd;
u64 fifo_time;
struct request_queue *q;
struct blk_mq_ctx *mq_ctx;
int cpu;
unsigned int cmd_type;
u64 cmd_flags;
long unsigned int atomic_flags;
unsigned int __data_len;
sector_t __sector;
struct bio *bio;
struct bio *biotail;
struct hlist_node hash;
struct list_head ipi_list;
struct rb_node rb_node;
void *completion_data;
struct (anon) elv;
struct (anon) flush;
struct gendisk *rq_disk;
struct hd_struct *part;
long unsigned int start_time;
struct request_list *rl;
long long unsigned int start_time_ns;
long long unsigned int io_start_time_ns;
short unsigned int nr_phys_segments;
short unsigned int nr_integrity_segments;
short unsigned int ioprio;
void *special;
int tag;
int errors;
unsigned char __cmd[16];
unsigned char *cmd;
short unsigned int cmd_len;
unsigned int extra_len;
unsigned int sense_len;
unsigned int resid_len;
void *sense;
long unsigned int deadline;
struct list_head timeout_list;
unsigned int timeout;
int retries;
rq_end_io_fn *end_io;
void *end_io_data;
struct request *next_rq;
};
4.10: ✅struct request {
struct list_head queuelist;
struct call_single_data csd;
u64 fifo_time;
struct request_queue *q;
struct blk_mq_ctx *mq_ctx;
int cpu;
unsigned int cmd_type;
unsigned int cmd_flags;
req_flags_t rq_flags;
long unsigned int atomic_flags;
unsigned int __data_len;
sector_t __sector;
struct bio *bio;
struct bio *biotail;
struct hlist_node hash;
struct list_head ipi_list;
struct rb_node rb_node;
struct bio_vec special_vec;
void *completion_data;
struct (anon) elv;
struct (anon) flush;
struct gendisk *rq_disk;
struct hd_struct *part;
long unsigned int start_time;
struct blk_issue_stat issue_stat;
struct request_list *rl;
long long unsigned int start_time_ns;
long long unsigned int io_start_time_ns;
short unsigned int nr_phys_segments;
short unsigned int nr_integrity_segments;
short unsigned int ioprio;
void *special;
int tag;
int errors;
unsigned char __cmd[16];
unsigned char *cmd;
short unsigned int cmd_len;
unsigned int extra_len;
unsigned int sense_len;
unsigned int resid_len;
void *sense;
long unsigned int deadline;
struct list_head timeout_list;
unsigned int timeout;
int retries;
rq_end_io_fn *end_io;
void *end_io_data;
struct request *next_rq;
};
4.13: ✅struct request {
struct list_head queuelist;
struct call_single_data csd;
u64 fifo_time;
struct request_queue *q;
struct blk_mq_ctx *mq_ctx;
int cpu;
unsigned int cmd_flags;
req_flags_t rq_flags;
int internal_tag;
long unsigned int atomic_flags;
unsigned int __data_len;
int tag;
sector_t __sector;
struct bio *bio;
struct bio *biotail;
struct hlist_node hash;
struct list_head ipi_list;
struct rb_node rb_node;
struct bio_vec special_vec;
void *completion_data;
int error_count;
struct (anon) elv;
struct (anon) flush;
struct gendisk *rq_disk;
struct hd_struct *part;
long unsigned int start_time;
struct blk_issue_stat issue_stat;
struct request_list *rl;
long long unsigned int start_time_ns;
long long unsigned int io_start_time_ns;
short unsigned int nr_phys_segments;
short unsigned int nr_integrity_segments;
short unsigned int ioprio;
unsigned int timeout;
void *special;
unsigned int extra_len;
short unsigned int write_hint;
long unsigned int deadline;
struct list_head timeout_list;
rq_end_io_fn *end_io;
void *end_io_data;
struct request *next_rq;
};
4.15: ✅struct request {
struct list_head queuelist;
struct __call_single_data csd;
u64 fifo_time;
struct request_queue *q;
struct blk_mq_ctx *mq_ctx;
int cpu;
unsigned int cmd_flags;
req_flags_t rq_flags;
int internal_tag;
long unsigned int atomic_flags;
unsigned int __data_len;
int tag;
sector_t __sector;
struct bio *bio;
struct bio *biotail;
struct hlist_node hash;
struct list_head ipi_list;
struct rb_node rb_node;
struct bio_vec special_vec;
void *completion_data;
int error_count;
struct (anon) elv;
struct (anon) flush;
struct gendisk *rq_disk;
struct hd_struct *part;
long unsigned int start_time;
struct blk_issue_stat issue_stat;
struct request_list *rl;
long long unsigned int start_time_ns;
long long unsigned int io_start_time_ns;
short unsigned int nr_phys_segments;
short unsigned int nr_integrity_segments;
short unsigned int ioprio;
unsigned int timeout;
void *special;
unsigned int extra_len;
short unsigned int write_hint;
long unsigned int deadline;
struct list_head timeout_list;
rq_end_io_fn *end_io;
void *end_io_data;
struct request *next_rq;
};
4.18: ✅struct request {
struct request_queue *q;
struct blk_mq_ctx *mq_ctx;
int cpu;
unsigned int cmd_flags;
req_flags_t rq_flags;
int internal_tag;
unsigned int __data_len;
int tag;
sector_t __sector;
struct bio *bio;
struct bio *biotail;
struct list_head queuelist;
struct hlist_node hash;
struct list_head ipi_list;
struct rb_node rb_node;
struct bio_vec special_vec;
void *completion_data;
int error_count;
struct (anon) elv;
struct (anon) flush;
struct gendisk *rq_disk;
struct hd_struct *part;
u64 start_time_ns;
u64 io_start_time_ns;
short unsigned int wbt_flags;
short unsigned int nr_phys_segments;
short unsigned int nr_integrity_segments;
short unsigned int write_hint;
short unsigned int ioprio;
void *special;
unsigned int extra_len;
enum mq_rq_state state;
refcount_t ref;
unsigned int timeout;
long unsigned int __deadline;
struct list_head timeout_list;
struct __call_single_data csd;
u64 fifo_time;
rq_end_io_fn *end_io;
void *end_io_data;
struct request *next_rq;
struct request_list *rl;
};
5.0: ✅struct request {
struct request_queue *q;
struct blk_mq_ctx *mq_ctx;
struct blk_mq_hw_ctx *mq_hctx;
unsigned int cmd_flags;
req_flags_t rq_flags;
int internal_tag;
unsigned int __data_len;
int tag;
sector_t __sector;
struct bio *bio;
struct bio *biotail;
struct list_head queuelist;
struct hlist_node hash;
struct list_head ipi_list;
struct rb_node rb_node;
struct bio_vec special_vec;
void *completion_data;
int error_count;
struct (anon) elv;
struct (anon) flush;
struct gendisk *rq_disk;
struct hd_struct *part;
u64 start_time_ns;
u64 io_start_time_ns;
short unsigned int wbt_flags;
short unsigned int nr_phys_segments;
short unsigned int nr_integrity_segments;
short unsigned int write_hint;
short unsigned int ioprio;
void *special;
unsigned int extra_len;
enum mq_rq_state state;
refcount_t ref;
unsigned int timeout;
long unsigned int deadline;
struct __call_single_data csd;
u64 fifo_time;
rq_end_io_fn *end_io;
void *end_io_data;
struct request *next_rq;
};
5.3: ✅struct request {
struct request_queue *q;
struct blk_mq_ctx *mq_ctx;
struct blk_mq_hw_ctx *mq_hctx;
unsigned int cmd_flags;
req_flags_t rq_flags;
int tag;
int internal_tag;
unsigned int __data_len;
sector_t __sector;
struct bio *bio;
struct bio *biotail;
struct list_head queuelist;
struct hlist_node hash;
struct list_head ipi_list;
struct rb_node rb_node;
struct bio_vec special_vec;
void *completion_data;
int error_count;
struct (anon) elv;
struct (anon) flush;
struct gendisk *rq_disk;
struct hd_struct *part;
u64 start_time_ns;
u64 io_start_time_ns;
short unsigned int wbt_flags;
short unsigned int nr_phys_segments;
short unsigned int nr_integrity_segments;
short unsigned int write_hint;
short unsigned int ioprio;
unsigned int extra_len;
enum mq_rq_state state;
refcount_t ref;
unsigned int timeout;
long unsigned int deadline;
struct __call_single_data csd;
u64 fifo_time;
rq_end_io_fn *end_io;
void *end_io_data;
};
5.4: ✅struct request {
struct request_queue *q;
struct blk_mq_ctx *mq_ctx;
struct blk_mq_hw_ctx *mq_hctx;
unsigned int cmd_flags;
req_flags_t rq_flags;
int tag;
int internal_tag;
unsigned int __data_len;
sector_t __sector;
struct bio *bio;
struct bio *biotail;
struct list_head queuelist;
struct hlist_node hash;
struct list_head ipi_list;
struct rb_node rb_node;
struct bio_vec special_vec;
void *completion_data;
int error_count;
struct (anon) elv;
struct (anon) flush;
struct gendisk *rq_disk;
struct hd_struct *part;
u64 alloc_time_ns;
u64 start_time_ns;
u64 io_start_time_ns;
short unsigned int wbt_flags;
short unsigned int stats_sectors;
short unsigned int nr_phys_segments;
short unsigned int nr_integrity_segments;
short unsigned int write_hint;
short unsigned int ioprio;
unsigned int extra_len;
enum mq_rq_state state;
refcount_t ref;
unsigned int timeout;
long unsigned int deadline;
struct __call_single_data csd;
u64 fifo_time;
rq_end_io_fn *end_io;
void *end_io_data;
};
5.8: ✅struct request {
struct request_queue *q;
struct blk_mq_ctx *mq_ctx;
struct blk_mq_hw_ctx *mq_hctx;
unsigned int cmd_flags;
req_flags_t rq_flags;
int tag;
int internal_tag;
unsigned int __data_len;
sector_t __sector;
struct bio *bio;
struct bio *biotail;
struct list_head queuelist;
struct hlist_node hash;
struct list_head ipi_list;
struct rb_node rb_node;
struct bio_vec special_vec;
void *completion_data;
int error_count;
struct (anon) elv;
struct (anon) flush;
struct gendisk *rq_disk;
struct hd_struct *part;
u64 alloc_time_ns;
u64 start_time_ns;
u64 io_start_time_ns;
short unsigned int wbt_flags;
short unsigned int stats_sectors;
short unsigned int nr_phys_segments;
short unsigned int nr_integrity_segments;
struct bio_crypt_ctx *crypt_ctx;
struct blk_ksm_keyslot *crypt_keyslot;
short unsigned int write_hint;
short unsigned int ioprio;
enum mq_rq_state state;
refcount_t ref;
unsigned int timeout;
long unsigned int deadline;
struct __call_single_data csd;
u64 fifo_time;
rq_end_io_fn *end_io;
void *end_io_data;
};
5.11: ✅struct request {
struct request_queue *q;
struct blk_mq_ctx *mq_ctx;
struct blk_mq_hw_ctx *mq_hctx;
unsigned int cmd_flags;
req_flags_t rq_flags;
int tag;
int internal_tag;
unsigned int __data_len;
sector_t __sector;
struct bio *bio;
struct bio *biotail;
struct list_head queuelist;
struct hlist_node hash;
struct list_head ipi_list;
struct rb_node rb_node;
struct bio_vec special_vec;
void *completion_data;
int error_count;
struct (anon) elv;
struct (anon) flush;
struct gendisk *rq_disk;
struct block_device *part;
u64 alloc_time_ns;
u64 start_time_ns;
u64 io_start_time_ns;
short unsigned int wbt_flags;
short unsigned int stats_sectors;
short unsigned int nr_phys_segments;
short unsigned int nr_integrity_segments;
struct bio_crypt_ctx *crypt_ctx;
struct blk_ksm_keyslot *crypt_keyslot;
short unsigned int write_hint;
short unsigned int ioprio;
enum mq_rq_state state;
refcount_t ref;
unsigned int timeout;
long unsigned int deadline;
struct __call_single_data csd;
u64 fifo_time;
rq_end_io_fn *end_io;
void *end_io_data;
};
5.13: ✅struct request {
struct request_queue *q;
struct blk_mq_ctx *mq_ctx;
struct blk_mq_hw_ctx *mq_hctx;
unsigned int cmd_flags;
req_flags_t rq_flags;
int tag;
int internal_tag;
unsigned int __data_len;
sector_t __sector;
struct bio *bio;
struct bio *biotail;
struct list_head queuelist;
struct hlist_node hash;
struct llist_node ipi_list;
struct rb_node rb_node;
struct bio_vec special_vec;
void *completion_data;
int error_count;
struct (anon) elv;
struct (anon) flush;
struct gendisk *rq_disk;
struct block_device *part;
u64 alloc_time_ns;
u64 start_time_ns;
u64 io_start_time_ns;
short unsigned int wbt_flags;
short unsigned int stats_sectors;
short unsigned int nr_phys_segments;
short unsigned int nr_integrity_segments;
struct bio_crypt_ctx *crypt_ctx;
struct blk_ksm_keyslot *crypt_keyslot;
short unsigned int write_hint;
short unsigned int ioprio;
enum mq_rq_state state;
refcount_t ref;
unsigned int timeout;
long unsigned int deadline;
struct __call_single_data csd;
u64 fifo_time;
rq_end_io_fn *end_io;
void *end_io_data;
};
5.15: ✅struct request {
struct request_queue *q;
struct blk_mq_ctx *mq_ctx;
struct blk_mq_hw_ctx *mq_hctx;
unsigned int cmd_flags;
req_flags_t rq_flags;
int tag;
int internal_tag;
unsigned int __data_len;
sector_t __sector;
struct bio *bio;
struct bio *biotail;
struct list_head queuelist;
struct hlist_node hash;
struct llist_node ipi_list;
struct rb_node rb_node;
struct bio_vec special_vec;
void *completion_data;
int error_count;
struct (anon) elv;
struct (anon) flush;
struct gendisk *rq_disk;
struct block_device *part;
u64 alloc_time_ns;
u64 start_time_ns;
u64 io_start_time_ns;
short unsigned int wbt_flags;
short unsigned int stats_sectors;
short unsigned int nr_phys_segments;
short unsigned int nr_integrity_segments;
struct bio_crypt_ctx *crypt_ctx;
struct blk_ksm_keyslot *crypt_keyslot;
short unsigned int write_hint;
short unsigned int ioprio;
enum mq_rq_state state;
refcount_t ref;
unsigned int timeout;
long unsigned int deadline;
struct __call_single_data csd;
u64 fifo_time;
rq_end_io_fn *end_io;
void *end_io_data;
};
5.19: ✅struct request {
struct request_queue *q;
struct blk_mq_ctx *mq_ctx;
struct blk_mq_hw_ctx *mq_hctx;
unsigned int cmd_flags;
req_flags_t rq_flags;
int tag;
int internal_tag;
unsigned int timeout;
unsigned int __data_len;
sector_t __sector;
struct bio *bio;
struct bio *biotail;
struct list_head queuelist;
struct request *rq_next;
struct block_device *part;
u64 alloc_time_ns;
u64 start_time_ns;
u64 io_start_time_ns;
short unsigned int wbt_flags;
short unsigned int stats_sectors;
short unsigned int nr_phys_segments;
short unsigned int nr_integrity_segments;
struct bio_crypt_ctx *crypt_ctx;
struct blk_crypto_keyslot *crypt_keyslot;
short unsigned int write_hint;
short unsigned int ioprio;
enum mq_rq_state state;
atomic_t ref;
long unsigned int deadline;
struct hlist_node hash;
struct llist_node ipi_list;
struct rb_node rb_node;
struct bio_vec special_vec;
void *completion_data;
struct (anon) elv;
struct (anon) flush;
struct __call_single_data csd;
u64 fifo_time;
rq_end_io_fn *end_io;
void *end_io_data;
};
6.2: ✅struct request {
struct request_queue *q;
struct blk_mq_ctx *mq_ctx;
struct blk_mq_hw_ctx *mq_hctx;
blk_opf_t cmd_flags;
req_flags_t rq_flags;
int tag;
int internal_tag;
unsigned int timeout;
unsigned int __data_len;
sector_t __sector;
struct bio *bio;
struct bio *biotail;
struct list_head queuelist;
struct request *rq_next;
struct block_device *part;
u64 alloc_time_ns;
u64 start_time_ns;
u64 io_start_time_ns;
short unsigned int wbt_flags;
short unsigned int stats_sectors;
short unsigned int nr_phys_segments;
short unsigned int nr_integrity_segments;
struct bio_crypt_ctx *crypt_ctx;
struct blk_crypto_keyslot *crypt_keyslot;
short unsigned int ioprio;
enum mq_rq_state state;
atomic_t ref;
long unsigned int deadline;
struct hlist_node hash;
struct llist_node ipi_list;
struct rb_node rb_node;
struct bio_vec special_vec;
void *completion_data;
struct (anon) elv;
struct (anon) flush;
struct __call_single_data csd;
u64 fifo_time;
rq_end_io_fn *end_io;
void *end_io_data;
};
6.5: ✅struct request {
struct request_queue *q;
struct blk_mq_ctx *mq_ctx;
struct blk_mq_hw_ctx *mq_hctx;
blk_opf_t cmd_flags;
req_flags_t rq_flags;
int tag;
int internal_tag;
unsigned int timeout;
unsigned int __data_len;
sector_t __sector;
struct bio *bio;
struct bio *biotail;
struct list_head queuelist;
struct request *rq_next;
struct block_device *part;
u64 alloc_time_ns;
u64 start_time_ns;
u64 io_start_time_ns;
short unsigned int wbt_flags;
short unsigned int stats_sectors;
short unsigned int nr_phys_segments;
short unsigned int nr_integrity_segments;
struct bio_crypt_ctx *crypt_ctx;
struct blk_crypto_keyslot *crypt_keyslot;
short unsigned int ioprio;
enum mq_rq_state state;
atomic_t ref;
long unsigned int deadline;
struct hlist_node hash;
struct llist_node ipi_list;
struct rb_node rb_node;
struct bio_vec special_vec;
struct (anon) elv;
struct (anon) flush;
struct __call_single_data csd;
u64 fifo_time;
rq_end_io_fn *end_io;
void *end_io_data;
};
6.8: ✅struct request {
struct request_queue *q;
struct blk_mq_ctx *mq_ctx;
struct blk_mq_hw_ctx *mq_hctx;
blk_opf_t cmd_flags;
req_flags_t rq_flags;
int tag;
int internal_tag;
unsigned int timeout;
unsigned int __data_len;
sector_t __sector;
struct bio *bio;
struct bio *biotail;
struct list_head queuelist;
struct request *rq_next;
struct block_device *part;
u64 alloc_time_ns;
u64 start_time_ns;
u64 io_start_time_ns;
short unsigned int wbt_flags;
short unsigned int stats_sectors;
short unsigned int nr_phys_segments;
short unsigned int nr_integrity_segments;
struct bio_crypt_ctx *crypt_ctx;
struct blk_crypto_keyslot *crypt_keyslot;
short unsigned int ioprio;
enum mq_rq_state state;
atomic_t ref;
long unsigned int deadline;
struct hlist_node hash;
struct llist_node ipi_list;
struct rb_node rb_node;
struct bio_vec special_vec;
struct (anon) elv;
struct (anon) flush;
u64 fifo_time;
rq_end_io_fn *end_io;
void *end_io_data;
};
arm64: ✅struct request {
struct request_queue *q;
struct blk_mq_ctx *mq_ctx;
struct blk_mq_hw_ctx *mq_hctx;
unsigned int cmd_flags;
req_flags_t rq_flags;
int tag;
int internal_tag;
unsigned int __data_len;
sector_t __sector;
struct bio *bio;
struct bio *biotail;
struct list_head queuelist;
struct hlist_node hash;
struct list_head ipi_list;
struct rb_node rb_node;
struct bio_vec special_vec;
void *completion_data;
int error_count;
struct (anon) elv;
struct (anon) flush;
struct gendisk *rq_disk;
struct hd_struct *part;
u64 alloc_time_ns;
u64 start_time_ns;
u64 io_start_time_ns;
short unsigned int wbt_flags;
short unsigned int stats_sectors;
short unsigned int nr_phys_segments;
short unsigned int nr_integrity_segments;
short unsigned int write_hint;
short unsigned int ioprio;
unsigned int extra_len;
enum mq_rq_state state;
refcount_t ref;
unsigned int timeout;
long unsigned int deadline;
struct __call_single_data csd;
u64 fifo_time;
rq_end_io_fn *end_io;
void *end_io_data;
};
armhf: ✅struct request {
struct request_queue *q;
struct blk_mq_ctx *mq_ctx;
struct blk_mq_hw_ctx *mq_hctx;
unsigned int cmd_flags;
req_flags_t rq_flags;
int tag;
int internal_tag;
unsigned int __data_len;
sector_t __sector;
struct bio *bio;
struct bio *biotail;
struct list_head queuelist;
struct hlist_node hash;
struct list_head ipi_list;
struct rb_node rb_node;
struct bio_vec special_vec;
void *completion_data;
int error_count;
struct (anon) elv;
struct (anon) flush;
struct gendisk *rq_disk;
struct hd_struct *part;
u64 alloc_time_ns;
u64 start_time_ns;
u64 io_start_time_ns;
short unsigned int wbt_flags;
short unsigned int stats_sectors;
short unsigned int nr_phys_segments;
short unsigned int nr_integrity_segments;
short unsigned int write_hint;
short unsigned int ioprio;
unsigned int extra_len;
enum mq_rq_state state;
refcount_t ref;
unsigned int timeout;
long unsigned int deadline;
struct __call_single_data csd;
u64 fifo_time;
rq_end_io_fn *end_io;
void *end_io_data;
};
ppc64el: ✅struct request {
struct request_queue *q;
struct blk_mq_ctx *mq_ctx;
struct blk_mq_hw_ctx *mq_hctx;
unsigned int cmd_flags;
req_flags_t rq_flags;
int tag;
int internal_tag;
unsigned int __data_len;
sector_t __sector;
struct bio *bio;
struct bio *biotail;
struct list_head queuelist;
struct hlist_node hash;
struct list_head ipi_list;
struct rb_node rb_node;
struct bio_vec special_vec;
void *completion_data;
int error_count;
struct (anon) elv;
struct (anon) flush;
struct gendisk *rq_disk;
struct hd_struct *part;
u64 alloc_time_ns;
u64 start_time_ns;
u64 io_start_time_ns;
short unsigned int wbt_flags;
short unsigned int stats_sectors;
short unsigned int nr_phys_segments;
short unsigned int nr_integrity_segments;
short unsigned int write_hint;
short unsigned int ioprio;
unsigned int extra_len;
enum mq_rq_state state;
refcount_t ref;
unsigned int timeout;
long unsigned int deadline;
struct __call_single_data csd;
u64 fifo_time;
rq_end_io_fn *end_io;
void *end_io_data;
};
riscv64: ✅struct request {
struct request_queue *q;
struct blk_mq_ctx *mq_ctx;
struct blk_mq_hw_ctx *mq_hctx;
unsigned int cmd_flags;
req_flags_t rq_flags;
int tag;
int internal_tag;
unsigned int __data_len;
sector_t __sector;
struct bio *bio;
struct bio *biotail;
struct list_head queuelist;
struct hlist_node hash;
struct list_head ipi_list;
struct rb_node rb_node;
struct bio_vec special_vec;
void *completion_data;
int error_count;
struct (anon) elv;
struct (anon) flush;
struct gendisk *rq_disk;
struct hd_struct *part;
u64 alloc_time_ns;
u64 start_time_ns;
u64 io_start_time_ns;
short unsigned int wbt_flags;
short unsigned int stats_sectors;
short unsigned int nr_phys_segments;
short unsigned int nr_integrity_segments;
short unsigned int write_hint;
short unsigned int ioprio;
unsigned int extra_len;
enum mq_rq_state state;
refcount_t ref;
unsigned int timeout;
long unsigned int deadline;
struct __call_single_data csd;
u64 fifo_time;
rq_end_io_fn *end_io;
void *end_io_data;
};
aws: ✅struct request {
struct request_queue *q;
struct blk_mq_ctx *mq_ctx;
struct blk_mq_hw_ctx *mq_hctx;
unsigned int cmd_flags;
req_flags_t rq_flags;
int tag;
int internal_tag;
unsigned int __data_len;
sector_t __sector;
struct bio *bio;
struct bio *biotail;
struct list_head queuelist;
struct hlist_node hash;
struct list_head ipi_list;
struct rb_node rb_node;
struct bio_vec special_vec;
void *completion_data;
int error_count;
struct (anon) elv;
struct (anon) flush;
struct gendisk *rq_disk;
struct hd_struct *part;
u64 alloc_time_ns;
u64 start_time_ns;
u64 io_start_time_ns;
short unsigned int wbt_flags;
short unsigned int stats_sectors;
short unsigned int nr_phys_segments;
short unsigned int nr_integrity_segments;
short unsigned int write_hint;
short unsigned int ioprio;
unsigned int extra_len;
enum mq_rq_state state;
refcount_t ref;
unsigned int timeout;
long unsigned int deadline;
struct __call_single_data csd;
u64 fifo_time;
rq_end_io_fn *end_io;
void *end_io_data;
};
azure: ✅struct request {
struct request_queue *q;
struct blk_mq_ctx *mq_ctx;
struct blk_mq_hw_ctx *mq_hctx;
unsigned int cmd_flags;
req_flags_t rq_flags;
int tag;
int internal_tag;
unsigned int __data_len;
sector_t __sector;
struct bio *bio;
struct bio *biotail;
struct list_head queuelist;
struct hlist_node hash;
struct list_head ipi_list;
struct rb_node rb_node;
struct bio_vec special_vec;
void *completion_data;
int error_count;
struct (anon) elv;
struct (anon) flush;
struct gendisk *rq_disk;
struct hd_struct *part;
u64 alloc_time_ns;
u64 start_time_ns;
u64 io_start_time_ns;
short unsigned int wbt_flags;
short unsigned int stats_sectors;
short unsigned int nr_phys_segments;
short unsigned int nr_integrity_segments;
short unsigned int write_hint;
short unsigned int ioprio;
unsigned int extra_len;
enum mq_rq_state state;
refcount_t ref;
unsigned int timeout;
long unsigned int deadline;
struct __call_single_data csd;
u64 fifo_time;
rq_end_io_fn *end_io;
void *end_io_data;
};
gcp: ✅struct request {
struct request_queue *q;
struct blk_mq_ctx *mq_ctx;
struct blk_mq_hw_ctx *mq_hctx;
unsigned int cmd_flags;
req_flags_t rq_flags;
int tag;
int internal_tag;
unsigned int __data_len;
sector_t __sector;
struct bio *bio;
struct bio *biotail;
struct list_head queuelist;
struct hlist_node hash;
struct list_head ipi_list;
struct rb_node rb_node;
struct bio_vec special_vec;
void *completion_data;
int error_count;
struct (anon) elv;
struct (anon) flush;
struct gendisk *rq_disk;
struct hd_struct *part;
u64 alloc_time_ns;
u64 start_time_ns;
u64 io_start_time_ns;
short unsigned int wbt_flags;
short unsigned int stats_sectors;
short unsigned int nr_phys_segments;
short unsigned int nr_integrity_segments;
short unsigned int write_hint;
short unsigned int ioprio;
unsigned int extra_len;
enum mq_rq_state state;
refcount_t ref;
unsigned int timeout;
long unsigned int deadline;
struct __call_single_data csd;
u64 fifo_time;
rq_end_io_fn *end_io;
void *end_io_data;
};
lowlatency: ✅struct request {
struct request_queue *q;
struct blk_mq_ctx *mq_ctx;
struct blk_mq_hw_ctx *mq_hctx;
unsigned int cmd_flags;
req_flags_t rq_flags;
int tag;
int internal_tag;
unsigned int __data_len;
sector_t __sector;
struct bio *bio;
struct bio *biotail;
struct list_head queuelist;
struct hlist_node hash;
struct list_head ipi_list;
struct rb_node rb_node;
struct bio_vec special_vec;
void *completion_data;
int error_count;
struct (anon) elv;
struct (anon) flush;
struct gendisk *rq_disk;
struct hd_struct *part;
u64 alloc_time_ns;
u64 start_time_ns;
u64 io_start_time_ns;
short unsigned int wbt_flags;
short unsigned int stats_sectors;
short unsigned int nr_phys_segments;
short unsigned int nr_integrity_segments;
short unsigned int write_hint;
short unsigned int ioprio;
unsigned int extra_len;
enum mq_rq_state state;
refcount_t ref;
unsigned int timeout;
long unsigned int deadline;
struct __call_single_data csd;
u64 fifo_time;
rq_end_io_fn *end_io;
void *end_io_data;
};
Regular
4.4 and 4.8 ⚠️long unsigned int fifo_time ➡️ u64 fifo_time
4.8 and 4.10 ⚠️req_flags_t rq_flags
struct bio_vec special_vec
struct blk_issue_stat issue_stat
u64 cmd_flags ➡️ unsigned int cmd_flags
4.10 and 4.13 ⚠️int internal_tag
int error_count
short unsigned int write_hint
unsigned int cmd_type
int errors
unsigned char __cmd[16]
unsigned char *cmd
short unsigned int cmd_len
unsigned int sense_len
unsigned int resid_len
void *sense
int retries
4.13 and 4.15 ⚠️struct call_single_data csd ➡️ struct __call_single_data csd
4.15 and 4.18 ⚠️short unsigned int wbt_flags
enum mq_rq_state state
refcount_t ref
long unsigned int __deadline
long unsigned int atomic_flags
long unsigned int start_time
struct blk_issue_stat issue_stat
long unsigned int deadline
long long unsigned int start_time_ns ➡️ u64 start_time_ns
long long unsigned int io_start_time_ns ➡️ u64 io_start_time_ns
4.18 and 5.0 ⚠️struct blk_mq_hw_ctx *mq_hctx
long unsigned int deadline
int cpu
long unsigned int __deadline
struct list_head timeout_list
struct request_list *rl
5.0 and 5.3 ⚠️void *special
struct request *next_rq
5.3 and 5.4 ⚠️u64 alloc_time_ns
short unsigned int stats_sectors
5.4 and 5.8 ⚠️struct bio_crypt_ctx *crypt_ctx
struct blk_ksm_keyslot *crypt_keyslot
unsigned int extra_len
5.8 and 5.11 ⚠️struct hd_struct *part ➡️ struct block_device *part
5.11 and 5.13 ⚠️struct list_head ipi_list ➡️ struct llist_node ipi_list
5.13 and 5.15 ✅
5.15 and 5.19 ⚠️struct request *rq_next
int error_count
struct gendisk *rq_disk
struct blk_ksm_keyslot *crypt_keyslot ➡️ struct blk_crypto_keyslot *crypt_keyslot
refcount_t ref ➡️ atomic_t ref
5.19 and 6.2 ⚠️short unsigned int write_hint
unsigned int cmd_flags ➡️ blk_opf_t cmd_flags
6.2 and 6.5 ⚠️void *completion_data
6.5 and 6.8 ⚠️struct __call_single_data csd
amd64 and arm64 ✅
amd64 and armhf ✅
amd64 and ppc64el ✅
amd64 and riscv64 ✅
generic and aws ✅
generic and azure ✅
generic and gcp ✅
generic and lowlatency ✅