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

From: Pavel Begunkov
Date: Thu May 04 2023 - 10:10:00 EST


On 5/4/23 13:18, Breno Leitao wrote:
These three patches prepare for the sock support in the io_uring cmd, as
described in the following RFC:

It doesn't apply, seems there are conflicts with ublk, but
looks good otherwise.

Reviewed-by: Pavel Begunkov <asml.silence@xxxxxxxxx>


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(-)


--
Pavel Begunkov