Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

Merge tag 'block-5.19-2022-07-15' of git://git.kernel.dk/linux-block

Pull block fixes from Jens Axboe:
"Two NVMe fixes, and a regression fix for the core block layer from
this merge window"

* tag 'block-5.19-2022-07-15' of git://git.kernel.dk/linux-block:
block: fix missing blkcg_bio_issue_init
nvme: fix block device naming collision
nvme-pci: fix freeze accounting for error handling

+11 -5
+1
block/blk-merge.c
··· 345 345 /* there isn't chance to merge the splitted bio */ 346 346 split->bi_opf |= REQ_NOMERGE; 347 347 348 + blkcg_bio_issue_init(split); 348 349 bio_chain(split, *bio); 349 350 trace_block_split(split, (*bio)->bi_iter.bi_sector); 350 351 submit_bio_noacct(*bio);
+3 -3
drivers/nvme/host/core.c
··· 3786 3786 } 3787 3787 3788 3788 static struct nvme_ns_head *nvme_alloc_ns_head(struct nvme_ctrl *ctrl, 3789 - unsigned nsid, struct nvme_ns_ids *ids) 3789 + unsigned nsid, struct nvme_ns_ids *ids, bool is_shared) 3790 3790 { 3791 3791 struct nvme_ns_head *head; 3792 3792 size_t size = sizeof(*head); ··· 3810 3810 head->subsys = ctrl->subsys; 3811 3811 head->ns_id = nsid; 3812 3812 head->ids = *ids; 3813 + head->shared = is_shared; 3813 3814 kref_init(&head->ref); 3814 3815 3815 3816 if (head->ids.csi) { ··· 3892 3891 nsid); 3893 3892 goto out_unlock; 3894 3893 } 3895 - head = nvme_alloc_ns_head(ctrl, nsid, ids); 3894 + head = nvme_alloc_ns_head(ctrl, nsid, ids, is_shared); 3896 3895 if (IS_ERR(head)) { 3897 3896 ret = PTR_ERR(head); 3898 3897 goto out_unlock; 3899 3898 } 3900 - head->shared = is_shared; 3901 3899 } else { 3902 3900 ret = -EINVAL; 3903 3901 if (!is_shared || !head->shared) {
+7 -2
drivers/nvme/host/pci.c
··· 2690 2690 struct pci_dev *pdev = to_pci_dev(dev->dev); 2691 2691 2692 2692 mutex_lock(&dev->shutdown_lock); 2693 - if (pci_device_is_present(pdev) && pci_is_enabled(pdev)) { 2694 - u32 csts = readl(dev->bar + NVME_REG_CSTS); 2693 + if (pci_is_enabled(pdev)) { 2694 + u32 csts; 2695 + 2696 + if (pci_device_is_present(pdev)) 2697 + csts = readl(dev->bar + NVME_REG_CSTS); 2698 + else 2699 + csts = ~0; 2695 2700 2696 2701 if (dev->ctrl.state == NVME_CTRL_LIVE || 2697 2702 dev->ctrl.state == NVME_CTRL_RESETTING) {