-
Notifications
You must be signed in to change notification settings - Fork 0
bsg: add io_uring command support for SCSI passthrough #488
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: linus-master_base
Are you sure you want to change the base?
Conversation
|
Upstream branch: 944aacb |
|
Upstream branch: 944aacb |
ae062d3 to
954be0a
Compare
8a473ad to
fa94b37
Compare
|
Upstream branch: 944aacb |
954be0a to
40aae42
Compare
fa94b37 to
41a5848
Compare
Add the bsg_uring_cmd structure to the BSG UAPI header to support io_uring-based SCSI passthrough operations via IORING_OP_URING_CMD. Signed-off-by: Yang Xiuwei <yangxiuwei@kylinos.cn>
|
Upstream branch: 6c79021 |
Add io_uring command handler to the generic BSG layer. This handler validates that SQE128 and CQE32 flags are set (required for the command structure and status information), then delegates to the SCSI-specific handler. Signed-off-by: Yang Xiuwei <yangxiuwei@kylinos.cn>
Implement the SCSI-specific io_uring command handler for BSG. This handler processes SCSI passthrough commands asynchronously via io_uring, supporting both traditional user buffers and zero-copy fixed buffers. Key features: - Async command execution with proper completion handling - Zero-copy support via io_uring fixed buffers - Status information returned in CQE res2 field - Non-blocking I/O support via IO_URING_F_NONBLOCK - Proper error handling and validation The implementation uses a PDU structure overlaying io_uring_cmd.pdu[32] to store temporary state during command execution. Completion is handled via task work to safely access user space. This patch replaces the stub implementation from patch 2/3 with the full implementation. Signed-off-by: Yang Xiuwei <yangxiuwei@kylinos.cn>
40aae42 to
30271e9
Compare
Pull request for series with
subject: bsg: add io_uring command support for SCSI passthrough
version: 2
url: https://patchwork.kernel.org/project/linux-block/list/?series=1042560