io_kiocb
Regular
4.4
: Absent ⚠️
4.8
: Absent ⚠️
4.10
: Absent ⚠️
4.13
: Absent ⚠️
4.15
: Absent ⚠️
4.18
: Absent ⚠️
5.0
: Absent ⚠️
5.3
: ✅struct io_kiocb {
struct file *file;
struct kiocb rw;
struct io_poll_iocb poll;
struct sqe_submit submit;
struct io_ring_ctx *ctx;
struct list_head list;
struct list_head link_list;
unsigned int flags;
refcount_t refs;
u64 user_data;
u32 result;
u32 sequence;
struct work_struct work;
};
5.4
: ✅struct io_kiocb {
struct file *file;
struct kiocb rw;
struct io_poll_iocb poll;
struct io_timeout timeout;
struct sqe_submit submit;
struct io_ring_ctx *ctx;
struct list_head list;
struct list_head link_list;
unsigned int flags;
refcount_t refs;
u64 user_data;
u32 result;
u32 sequence;
struct fs_struct *fs;
struct work_struct work;
};
5.8
: ✅struct io_kiocb {
struct file *file;
struct io_rw rw;
struct io_poll_iocb poll;
struct io_accept accept;
struct io_sync sync;
struct io_cancel cancel;
struct io_timeout timeout;
struct io_connect connect;
struct io_sr_msg sr_msg;
struct io_open open;
struct io_close close;
struct io_files_update files_update;
struct io_fadvise fadvise;
struct io_madvise madvise;
struct io_epoll epoll;
struct io_splice splice;
struct io_provide_buf pbuf;
struct io_statx statx;
struct io_async_ctx *io;
int cflags;
u8 opcode;
u8 iopoll_completed;
u16 buf_index;
struct io_ring_ctx *ctx;
struct list_head list;
unsigned int flags;
refcount_t refs;
struct task_struct *task;
long unsigned int fsize;
u64 user_data;
u32 result;
u32 sequence;
struct list_head link_list;
struct list_head inflight_entry;
struct percpu_ref *fixed_file_refs;
struct hlist_node hash_node;
struct async_poll *apoll;
struct io_wq_work work;
struct callback_head task_work;
};
5.11
: ✅struct io_kiocb {
struct file *file;
struct io_rw rw;
struct io_poll_iocb poll;
struct io_poll_remove poll_remove;
struct io_accept accept;
struct io_sync sync;
struct io_cancel cancel;
struct io_timeout timeout;
struct io_timeout_rem timeout_rem;
struct io_connect connect;
struct io_sr_msg sr_msg;
struct io_open open;
struct io_close close;
struct io_files_update files_update;
struct io_fadvise fadvise;
struct io_madvise madvise;
struct io_epoll epoll;
struct io_splice splice;
struct io_provide_buf pbuf;
struct io_statx statx;
struct io_shutdown shutdown;
struct io_rename rename;
struct io_unlink unlink;
struct io_completion compl;
void *async_data;
u8 opcode;
u8 iopoll_completed;
u16 buf_index;
u32 result;
struct io_ring_ctx *ctx;
unsigned int flags;
refcount_t refs;
struct task_struct *task;
u64 user_data;
struct io_kiocb *link;
struct percpu_ref *fixed_file_refs;
struct list_head inflight_entry;
struct callback_head task_work;
struct hlist_node hash_node;
struct async_poll *apoll;
struct io_wq_work work;
};
5.13
: ✅struct io_kiocb {
struct file *file;
struct io_rw rw;
struct io_poll_iocb poll;
struct io_poll_update poll_update;
struct io_accept accept;
struct io_sync sync;
struct io_cancel cancel;
struct io_timeout timeout;
struct io_timeout_rem timeout_rem;
struct io_connect connect;
struct io_sr_msg sr_msg;
struct io_open open;
struct io_close close;
struct io_rsrc_update rsrc_update;
struct io_fadvise fadvise;
struct io_madvise madvise;
struct io_epoll epoll;
struct io_splice splice;
struct io_provide_buf pbuf;
struct io_statx statx;
struct io_shutdown shutdown;
struct io_rename rename;
struct io_unlink unlink;
struct io_completion compl;
void *async_data;
u8 opcode;
u8 iopoll_completed;
u16 buf_index;
u32 result;
struct io_ring_ctx *ctx;
unsigned int flags;
atomic_t refs;
struct task_struct *task;
u64 user_data;
struct io_kiocb *link;
struct percpu_ref *fixed_rsrc_refs;
struct list_head inflight_entry;
struct io_task_work io_task_work;
struct callback_head task_work;
struct hlist_node hash_node;
struct async_poll *apoll;
struct io_wq_work work;
const struct cred *creds;
struct io_mapped_ubuf *imu;
};
5.15
: ✅struct io_kiocb {
struct file *file;
struct io_rw rw;
struct io_poll_iocb poll;
struct io_poll_update poll_update;
struct io_accept accept;
struct io_sync sync;
struct io_cancel cancel;
struct io_timeout timeout;
struct io_timeout_rem timeout_rem;
struct io_connect connect;
struct io_sr_msg sr_msg;
struct io_open open;
struct io_close close;
struct io_rsrc_update rsrc_update;
struct io_fadvise fadvise;
struct io_madvise madvise;
struct io_epoll epoll;
struct io_splice splice;
struct io_provide_buf pbuf;
struct io_statx statx;
struct io_shutdown shutdown;
struct io_rename rename;
struct io_unlink unlink;
struct io_mkdir mkdir;
struct io_symlink symlink;
struct io_hardlink hardlink;
struct io_completion compl;
void *async_data;
u8 opcode;
u8 iopoll_completed;
u16 buf_index;
u32 result;
struct io_ring_ctx *ctx;
unsigned int flags;
atomic_t refs;
struct task_struct *task;
u64 user_data;
struct io_kiocb *link;
struct percpu_ref *fixed_rsrc_refs;
struct list_head inflight_entry;
struct io_task_work io_task_work;
struct hlist_node hash_node;
struct async_poll *apoll;
struct io_wq_work work;
const struct cred *creds;
struct io_mapped_ubuf *imu;
};
5.19
: ✅struct io_kiocb {
struct file *file;
struct io_rw rw;
struct io_poll_iocb poll;
struct io_poll_update poll_update;
struct io_accept accept;
struct io_sync sync;
struct io_cancel cancel;
struct io_timeout timeout;
struct io_timeout_rem timeout_rem;
struct io_connect connect;
struct io_sr_msg sr_msg;
struct io_open open;
struct io_close close;
struct io_rsrc_update rsrc_update;
struct io_fadvise fadvise;
struct io_madvise madvise;
struct io_epoll epoll;
struct io_splice splice;
struct io_provide_buf pbuf;
struct io_statx statx;
struct io_shutdown shutdown;
struct io_rename rename;
struct io_unlink unlink;
struct io_mkdir mkdir;
struct io_symlink symlink;
struct io_hardlink hardlink;
struct io_msg msg;
struct io_xattr xattr;
struct io_socket sock;
struct io_uring_cmd uring_cmd;
u8 opcode;
u8 iopoll_completed;
u16 buf_index;
unsigned int flags;
struct io_cqe cqe;
struct io_ring_ctx *ctx;
struct task_struct *task;
struct io_rsrc_node *rsrc_node;
struct io_mapped_ubuf *imu;
struct io_buffer *kbuf;
struct io_buffer_list *buf_list;
struct io_wq_work_node comp_list;
__poll_t apoll_events;
atomic_t refs;
atomic_t poll_refs;
struct io_task_work io_task_work;
struct hlist_node hash_node;
u64 extra1;
u64 extra2;
struct async_poll *apoll;
void *async_data;
struct io_kiocb *link;
const struct cred *creds;
struct io_wq_work work;
};
6.2
: ✅struct io_kiocb {
struct file *file;
struct io_cmd_data cmd;
u8 opcode;
u8 iopoll_completed;
u16 buf_index;
unsigned int flags;
struct io_cqe cqe;
struct io_ring_ctx *ctx;
struct task_struct *task;
struct io_rsrc_node *rsrc_node;
struct io_mapped_ubuf *imu;
struct io_buffer *kbuf;
struct io_buffer_list *buf_list;
struct io_wq_work_node comp_list;
__poll_t apoll_events;
atomic_t refs;
atomic_t poll_refs;
struct io_task_work io_task_work;
struct hlist_node hash_node;
u64 extra1;
u64 extra2;
struct async_poll *apoll;
void *async_data;
struct io_kiocb *link;
const struct cred *creds;
struct io_wq_work work;
};
6.5
: ✅struct io_kiocb {
struct file *file;
struct io_cmd_data cmd;
u8 opcode;
u8 iopoll_completed;
u16 buf_index;
unsigned int flags;
struct io_cqe cqe;
struct io_ring_ctx *ctx;
struct task_struct *task;
struct io_rsrc_node *rsrc_node;
struct io_mapped_ubuf *imu;
struct io_buffer *kbuf;
struct io_buffer_list *buf_list;
struct io_wq_work_node comp_list;
__poll_t apoll_events;
atomic_t refs;
atomic_t poll_refs;
struct io_task_work io_task_work;
unsigned int nr_tw;
struct hlist_node hash_node;
u64 extra1;
u64 extra2;
struct async_poll *apoll;
void *async_data;
struct io_kiocb *link;
const struct cred *creds;
struct io_wq_work work;
};
6.8
: ✅struct io_kiocb {
struct file *file;
struct io_cmd_data cmd;
u8 opcode;
u8 iopoll_completed;
u16 buf_index;
unsigned int flags;
struct io_cqe cqe;
struct io_ring_ctx *ctx;
struct task_struct *task;
struct io_rsrc_node *rsrc_node;
struct io_mapped_ubuf *imu;
struct io_buffer *kbuf;
struct io_buffer_list *buf_list;
struct io_wq_work_node comp_list;
__poll_t apoll_events;
atomic_t refs;
atomic_t poll_refs;
struct io_task_work io_task_work;
unsigned int nr_tw;
struct hlist_node hash_node;
struct async_poll *apoll;
void *async_data;
struct io_kiocb *link;
const struct cred *creds;
struct io_wq_work work;
struct (anon) big_cqe;
};
arm64
: ✅struct io_kiocb {
struct file *file;
struct kiocb rw;
struct io_poll_iocb poll;
struct io_timeout timeout;
struct sqe_submit submit;
struct io_ring_ctx *ctx;
struct list_head list;
struct list_head link_list;
unsigned int flags;
refcount_t refs;
u64 user_data;
u32 result;
u32 sequence;
struct fs_struct *fs;
struct work_struct work;
};
armhf
: ✅struct io_kiocb {
struct file *file;
struct kiocb rw;
struct io_poll_iocb poll;
struct io_timeout timeout;
struct sqe_submit submit;
struct io_ring_ctx *ctx;
struct list_head list;
struct list_head link_list;
unsigned int flags;
refcount_t refs;
u64 user_data;
u32 result;
u32 sequence;
struct fs_struct *fs;
struct work_struct work;
};
ppc64el
: ✅struct io_kiocb {
struct file *file;
struct kiocb rw;
struct io_poll_iocb poll;
struct io_timeout timeout;
struct sqe_submit submit;
struct io_ring_ctx *ctx;
struct list_head list;
struct list_head link_list;
unsigned int flags;
refcount_t refs;
u64 user_data;
u32 result;
u32 sequence;
struct fs_struct *fs;
struct work_struct work;
};
riscv64
: ✅struct io_kiocb {
struct file *file;
struct kiocb rw;
struct io_poll_iocb poll;
struct io_timeout timeout;
struct sqe_submit submit;
struct io_ring_ctx *ctx;
struct list_head list;
struct list_head link_list;
unsigned int flags;
refcount_t refs;
u64 user_data;
u32 result;
u32 sequence;
struct fs_struct *fs;
struct work_struct work;
};
aws
: ✅struct io_kiocb {
struct file *file;
struct kiocb rw;
struct io_poll_iocb poll;
struct io_timeout timeout;
struct sqe_submit submit;
struct io_ring_ctx *ctx;
struct list_head list;
struct list_head link_list;
unsigned int flags;
refcount_t refs;
u64 user_data;
u32 result;
u32 sequence;
struct fs_struct *fs;
struct work_struct work;
};
azure
: ✅struct io_kiocb {
struct file *file;
struct kiocb rw;
struct io_poll_iocb poll;
struct io_timeout timeout;
struct sqe_submit submit;
struct io_ring_ctx *ctx;
struct list_head list;
struct list_head link_list;
unsigned int flags;
refcount_t refs;
u64 user_data;
u32 result;
u32 sequence;
struct fs_struct *fs;
struct work_struct work;
};
gcp
: ✅struct io_kiocb {
struct file *file;
struct kiocb rw;
struct io_poll_iocb poll;
struct io_timeout timeout;
struct sqe_submit submit;
struct io_ring_ctx *ctx;
struct list_head list;
struct list_head link_list;
unsigned int flags;
refcount_t refs;
u64 user_data;
u32 result;
u32 sequence;
struct fs_struct *fs;
struct work_struct work;
};
lowlatency
: ✅struct io_kiocb {
struct file *file;
struct kiocb rw;
struct io_poll_iocb poll;
struct io_timeout timeout;
struct sqe_submit submit;
struct io_ring_ctx *ctx;
struct list_head list;
struct list_head link_list;
unsigned int flags;
refcount_t refs;
u64 user_data;
u32 result;
u32 sequence;
struct fs_struct *fs;
struct work_struct work;
};
Regular
5.3
and 5.4
⚠️struct io_timeout timeout
struct fs_struct *fs
5.4
and 5.8
⚠️struct io_accept accept
struct io_sync sync
struct io_cancel cancel
struct io_connect connect
struct io_sr_msg sr_msg
struct io_open open
struct io_close close
struct io_files_update files_update
struct io_fadvise fadvise
struct io_madvise madvise
struct io_epoll epoll
struct io_splice splice
struct io_provide_buf pbuf
struct io_statx statx
struct io_async_ctx *io
int cflags
u8 opcode
u8 iopoll_completed
u16 buf_index
struct task_struct *task
long unsigned int fsize
struct list_head inflight_entry
struct percpu_ref *fixed_file_refs
struct hlist_node hash_node
struct async_poll *apoll
struct callback_head task_work
struct sqe_submit submit
struct fs_struct *fs
struct kiocb rw
➡️ struct io_rw rw
struct work_struct work
➡️ struct io_wq_work work
5.8
and 5.11
⚠️struct io_poll_remove poll_remove
struct io_timeout_rem timeout_rem
struct io_shutdown shutdown
struct io_rename rename
struct io_unlink unlink
struct io_completion compl
void *async_data
struct io_kiocb *link
struct io_async_ctx *io
int cflags
struct list_head list
long unsigned int fsize
u32 sequence
struct list_head link_list
5.11
and 5.13
⚠️struct io_poll_update poll_update
struct io_rsrc_update rsrc_update
struct percpu_ref *fixed_rsrc_refs
struct io_task_work io_task_work
const struct cred *creds
struct io_mapped_ubuf *imu
struct io_poll_remove poll_remove
struct io_files_update files_update
struct percpu_ref *fixed_file_refs
refcount_t refs
➡️ atomic_t refs
5.13
and 5.15
⚠️struct io_mkdir mkdir
struct io_symlink symlink
struct io_hardlink hardlink
struct callback_head task_work
5.15
and 5.19
⚠️struct io_msg msg
struct io_xattr xattr
struct io_socket sock
struct io_uring_cmd uring_cmd
struct io_cqe cqe
struct io_rsrc_node *rsrc_node
struct io_buffer *kbuf
struct io_buffer_list *buf_list
struct io_wq_work_node comp_list
__poll_t apoll_events
atomic_t poll_refs
u64 extra1
u64 extra2
struct io_completion compl
u32 result
u64 user_data
struct percpu_ref *fixed_rsrc_refs
struct list_head inflight_entry
5.19
and 6.2
⚠️struct io_cmd_data cmd
struct io_rw rw
struct io_poll_iocb poll
struct io_poll_update poll_update
struct io_accept accept
struct io_sync sync
struct io_cancel cancel
struct io_timeout timeout
struct io_timeout_rem timeout_rem
struct io_connect connect
struct io_sr_msg sr_msg
struct io_open open
struct io_close close
struct io_rsrc_update rsrc_update
struct io_fadvise fadvise
struct io_madvise madvise
struct io_epoll epoll
struct io_splice splice
struct io_provide_buf pbuf
struct io_statx statx
struct io_shutdown shutdown
struct io_rename rename
struct io_unlink unlink
struct io_mkdir mkdir
struct io_symlink symlink
struct io_hardlink hardlink
struct io_msg msg
struct io_xattr xattr
struct io_socket sock
struct io_uring_cmd uring_cmd
6.2
and 6.5
⚠️unsigned int nr_tw
6.5
and 6.8
⚠️struct (anon) big_cqe
u64 extra1
u64 extra2
amd64
and arm64
✅
amd64
and armhf
✅
amd64
and ppc64el
✅
amd64
and riscv64
✅
generic
and aws
✅
generic
and azure
✅
generic
and gcp
✅
generic
and lowlatency
✅