On Wed, May 11, 2022 at 6:09 PM Jens Axboe <axboe@xxxxxxxxx> wrote: > > Which patches had changes in this series? I'm assuming it's just patch > 1, but the changelog doesn't actually say. Would save me from comparing > to what's in-tree already. Compared to in-tree, it is Patch 1 and Patch 4. This part in patch 4: +int nvme_ns_head_chr_uring_cmd(struct io_uring_cmd *ioucmd, + unsigned int issue_flags) +{ + struct cdev *cdev = file_inode(ioucmd->file)->i_cdev; + struct nvme_ns_head *head = container_of(cdev, struct nvme_ns_head, cdev); + int srcu_idx = srcu_read_lock(&head->srcu); + struct nvme_ns *ns = nvme_find_path(head); + int ret = -EINVAL; + + if (ns) + ret = nvme_ns_uring_cmd(ns, ioucmd, issue_flags); + srcu_read_unlock(&head->srcu, srcu_idx); + return ret; +} Initializing ret to -EINVAL rather than 0. We do not support admin commands yet, so ns can be null only if something goes wrong with multipath. So if at all anything goes wrong and ns is null, it is better to return failure than success. And I removed the lore links from commit-messages, thinking those will be refreshed too.