[ Sasha's backport helper bot ]
Hi,
✅ All tests passed successfully. No issues detected. No action required from the submitter.
The upstream commit SHA1 provided is correct: b69b8edfb27dfa563cd53f590ec42b481f9eb174
WARNING: Author mismatch between patch and upstream commit: Backport author: Jared Holzmanjholzman@nvidia.com Commit author: Uday Shankarushankar@purestorage.com
Note: The patch differs from the upstream commit: --- 1: b69b8edfb27df ! 1: 632ba3dbe853d ublk: properly serialize all FETCH_REQs @@ Metadata ## Commit message ## ublk: properly serialize all FETCH_REQs
+ [ Upstream commit b69b8edfb27dfa563cd53f590ec42b481f9eb174 ] + Most uring_cmds issued against ublk character devices are serialized because each command affects only one queue, and there is an early check which only allows a single task (the queue's ubq_daemon) to issue @@ drivers/block/ublk_drv.c: static void ublk_mark_io_ready(struct ublk_device *ub, - mutex_unlock(&ub->mutex); }
- static void ublk_handle_need_get_data(struct ublk_device *ub, int q_id, -@@ drivers/block/ublk_drv.c: static int ublk_unregister_io_buf(struct io_uring_cmd *cmd, - return io_buffer_unregister_bvec(cmd, index, issue_flags); + static inline int ublk_check_cmd_op(u32 cmd_op) +@@ drivers/block/ublk_drv.c: static inline void ublk_prep_cancel(struct io_uring_cmd *cmd, + io_uring_cmd_mark_cancelable(cmd, issue_flags); }
+static int ublk_fetch(struct io_uring_cmd *cmd, struct ublk_queue *ubq, @@ drivers/block/ublk_drv.c: static int ublk_unregister_io_buf(struct io_uring_cmd unsigned int issue_flags, const struct ublksrv_io_cmd *ub_cmd) @@ drivers/block/ublk_drv.c: static int __ublk_ch_uring_cmd(struct io_uring_cmd *cmd, - case UBLK_IO_UNREGISTER_IO_BUF: - return ublk_unregister_io_buf(cmd, ub_cmd->addr, issue_flags); + ret = -EINVAL; + switch (_IOC_NR(cmd_op)) { case UBLK_IO_FETCH_REQ: - /* UBLK_IO_FETCH_REQ is only allowed before queue is setup */ - if (ublk_queue_ready(ubq)) { ---
Results of testing on various branches:
| Branch | Patch Apply | Build Test | |---------------------------|-------------|------------| | stable/linux-5.4.y | Success | Success |