[PATCH v4 0/3] io_uring: Pass the whole sqe to commands

From: Breno Leitao
Date: Thu May 04 2023 - 08:19:13 EST


These three patches prepare for the sock support in the io_uring cmd, as
described in the following RFC:

Link: https://lore.kernel.org/lkml/20230406144330.1932798-1-leitao@xxxxxxxxxx/

Since the support linked above depends on other refactors, such as the sock
ioctl() sock refactor, I would like to start integrating patches that have
consensus and can bring value right now. This will also reduce the
patchset size later.

Regarding to these three patches, they are simple changes that turn
io_uring cmd subsystem more flexible (by passing the whole SQE to the
command), and cleaning up an unnecessary compile check.

These patches were tested by creating a file system and mounting an NVME disk
using ubdsrv/ublkb0.

Reviewed-by: Kanchan Joshi <joshi.k@xxxxxxxxxxx>

V1 -> V2 :
* Create a helper to return the size of the SQE
V2 -> V3:
* Transformed uring_sqe_size() into a proper function
* Fixed some commit messages
* Created a helper function for nvme/host to avoid casting
* Added a fourth patch to avoid ublk_drv's casts by using a proper helper
V3 -> V4:
* Create a function that returns a null pointer (io_uring_sqe_cmd()),
and uses it to get the cmd private data from the sqe.

Breno Leitao (3):
io_uring: Create a helper to return the SQE size
io_uring: Pass whole sqe to commands
io_uring: Remove unnecessary BUILD_BUG_ON

drivers/block/ublk_drv.c | 26 +++++++++++++-------------
drivers/nvme/host/ioctl.c | 2 +-
include/linux/io_uring.h | 7 ++++++-
io_uring/io_uring.h | 10 ++++++++++
io_uring/opdef.c | 2 +-
io_uring/uring_cmd.c | 12 +++---------
io_uring/uring_cmd.h | 8 --------
7 files changed, 34 insertions(+), 33 deletions(-)

--
2.34.1