[ 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: 82a8a30c581bbbe653d33c6ce2ef67e3072c7f12
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: 82a8a30c581bb ! 1: 7602c3e23b631 ublk: improve detection and handling of ublk server exit @@ Metadata ## Commit message ## ublk: improve detection and handling of ublk server exit
+ [ Upstream commit 82a8a30c581bbbe653d33c6ce2ef67e3072c7f12 ] + There are currently two ways in which ublk server exit is detected by ublk_drv:
@@ drivers/block/ublk_drv.c: struct ublk_params_header { };
-static bool ublk_abort_requests(struct ublk_device *ub, struct ublk_queue *ubq); -- ++ +static void ublk_stop_dev_unlocked(struct ublk_device *ub); +static void ublk_abort_queue(struct ublk_device *ub, struct ublk_queue *ubq); +static void __ublk_quiesce_dev(struct ublk_device *ub); - static inline struct request *__ublk_check_and_get_req(struct ublk_device *ub, - struct ublk_queue *ubq, int tag, size_t offset); + static inline unsigned int ublk_req_build_flags(struct request *req); + static inline struct ublksrv_io_desc *ublk_get_iod(struct ublk_queue *ubq, @@ drivers/block/ublk_drv.c: static void ublk_queue_cmd_list(struct ublk_queue *ubq, struct rq_list *l) static enum blk_eh_timer_return ublk_timeout(struct request *rq) { @@ drivers/block/ublk_drv.c: static struct gendisk *ublk_detach_disk(struct ublk_de mutex_unlock(&ub->mutex); ublk_cancel_dev(ub); } -@@ drivers/block/ublk_drv.c: static void ublk_remove(struct ublk_device *ub) - bool unprivileged; - +@@ drivers/block/ublk_drv.c: static int ublk_add_tag_set(struct ublk_device *ub) + static void ublk_remove(struct ublk_device *ub) + { ublk_stop_dev(ub); - cancel_work_sync(&ub->nosrv_work); cdev_device_del(&ub->cdev, &ub->cdev_dev); - unprivileged = ub->dev_info.flags & UBLK_F_UNPRIVILEGED_DEV; ublk_put_device(ub); -@@ drivers/block/ublk_drv.c: static int ublk_ctrl_add_dev(const struct ublksrv_ctrl_cmd *header) + ublks_added--; +@@ drivers/block/ublk_drv.c: static int ublk_ctrl_add_dev(struct io_uring_cmd *cmd) goto out_unlock; mutex_init(&ub->mutex); spin_lock_init(&ub->lock); ---
Results of testing on various branches:
| Branch | Patch Apply | Build Test | |---------------------------|-------------|------------| | stable/linux-5.4.y | Success | Success |