ns.c (534a93d3a0bbde4248889ece1e0874ab98a96508) | ns.c (771dbc3ac484af35cddf7e4971e66a1fd1a07156) |
---|---|
1/* 2 * QEMU NVM Express Virtual Namespace 3 * 4 * Copyright (c) 2019 CNEX Labs 5 * Copyright (c) 2020 Samsung Electronics 6 * 7 * Authors: 8 * Klaus Jensen <k.jensen@samsung.com> --- 578 unchanged lines hidden (view full) --- 587 error_setg(errp, "namespace id '%d' already allocated", nsid); 588 return; 589 } 590 } 591 592 if (subsys) { 593 subsys->namespaces[nsid] = ns; 594 | 1/* 2 * QEMU NVM Express Virtual Namespace 3 * 4 * Copyright (c) 2019 CNEX Labs 5 * Copyright (c) 2020 Samsung Electronics 6 * 7 * Authors: 8 * Klaus Jensen <k.jensen@samsung.com> --- 578 unchanged lines hidden (view full) --- 587 error_setg(errp, "namespace id '%d' already allocated", nsid); 588 return; 589 } 590 } 591 592 if (subsys) { 593 subsys->namespaces[nsid] = ns; 594 |
595 ns->id_ns.endgid = cpu_to_le16(0x1); 596 |
|
595 if (ns->params.detached) { 596 return; 597 } 598 599 if (ns->params.shared) { 600 for (i = 0; i < ARRAY_SIZE(subsys->ctrls); i++) { 601 NvmeCtrl *ctrl = subsys->ctrls[i]; 602 603 if (ctrl && ctrl != SUBSYS_SLOT_RSVD) { 604 nvme_attach_ns(ctrl, ns); 605 } 606 } 607 608 return; 609 } | 597 if (ns->params.detached) { 598 return; 599 } 600 601 if (ns->params.shared) { 602 for (i = 0; i < ARRAY_SIZE(subsys->ctrls); i++) { 603 NvmeCtrl *ctrl = subsys->ctrls[i]; 604 605 if (ctrl && ctrl != SUBSYS_SLOT_RSVD) { 606 nvme_attach_ns(ctrl, ns); 607 } 608 } 609 610 return; 611 } |
612 |
|
610 } 611 612 nvme_attach_ns(n, ns); 613} 614 615static Property nvme_ns_props[] = { 616 DEFINE_BLOCK_PROPERTIES(NvmeNamespace, blkconf), 617 DEFINE_PROP_BOOL("detached", NvmeNamespace, params.detached, false), --- 71 unchanged lines hidden --- | 613 } 614 615 nvme_attach_ns(n, ns); 616} 617 618static Property nvme_ns_props[] = { 619 DEFINE_BLOCK_PROPERTIES(NvmeNamespace, blkconf), 620 DEFINE_PROP_BOOL("detached", NvmeNamespace, params.detached, false), --- 71 unchanged lines hidden --- |