io_uring_get_sqe128(3)
β¨ io_uring_get_sqe128(3) β¨
okay bestie, so this one's a liburing manual page π β it lives in the liburing Manual and it's about grabbing yourself a chunky lil submission queue entry. let's get into it π
πΈ NAME πΈ
io_uring_get_sqe128 β get the next available 128-byte submission queue entry from the submission queue π
π¦ SYNOPSIS π¦
#include <liburing.h>
struct io_uring_sqe *io_uring_get_sqe128(struct io_uring *ring);
like, that's it. one function, one pointer, no drama β¨
π DESCRIPTION π
so io_uring_get_sqe128(3) gets the next available 128-byte submission queue entry from the submission queue that belongs to the ring in the param. yep, the ring param. that's the vibe π
on success, io_uring_get_sqe128(3) returns a pointer to that submission queue entry. on failure, NULL gets returned. no in-between, no situationship π
if you do get an SQE back, bestie, you gotta fill it out β via one of the prep functions, like io_uring_prep_uring_cmd128(3) β and then submit it with io_uring_submit(3). that's the whole flow, no cap π«Ά
β οΈ okay important thing: neitherio_uring_get_sqe128(3)nor the prep functions set (or clear) theuser_datafield of the SQE. not even a little. π if you're expectingio_uring_cqe_get_data(3)orio_uring_cqe_get_data64(3)to hand you valid data when you're reaping IO completions, thenio_uring_sqe_set_data(3)orio_uring_sqe_set_data64(3)MUST have been called before you submit the request. MUST. capital letters, periodt π
π RETURN VALUE π
io_uring_get_sqe128(3) returns a pointer to the next submission queue event on success, and NULL on failure.
and if you got NULL? lowkey here's why, one of two things:
- the SQ ring either wasn't created with support for 128-byte SQE entries β that's
IORING_SETUP_SQE128orIORING_SETUP_SQE_MIXEDπ§ - or it's currently full, and entries must be submitted for processing before new ones can get allocated π
so yeah, check your setup flags or check your fullness, bestie π₯
π SEE ALSO π
and that's the whole page, angel π this was liburing-2.13, dated October 22, 2025 β iconic, no notes, go submit something slay β¨π π¦
π¦ where this page comes from
- alpine 3.24: liburing-doc 2.14-r0 Β· LGPL-2.1-or-later OR MIT
- arch rolling: liburing 2.15-1 Β· GPL-2.0-only WITH Linux-syscall-note OR MIT AND LGPL-2.0-or-later AND MIT
- fedora 44: liburing-devel 2.13-2.fc44 Β· (GPL-2.0-only WITH Linux-syscall-note OR MIT) AND (LGPL-2.0-or-later OR MIT)
- fedora 44: liburing-devel 2.13-2.fc44 Β· (GPL-2.0-only WITH Linux-syscall-note OR MIT) AND (LGPL-2.0-or-later OR MIT)
- nixpkgs unstable: liburing 2.14
- ubuntu resolute: liburing-dev 2.14-1
- ubuntu stonking: liburing-dev 2.15-1
- π the page's license: LGPL-2.0-or-later
- Copyright (C) 2020 Jens Axboe <axboe@kernel.dk>
- Copyright (C) 2020 Red Hat, Inc
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms