nvme_manage: move ctrlr_list to a local variable
This doesn't need to be stored in the device struct, since it is only used within ns_attach(), and it is freed at the end of the function. Change-Id: I0d4a14a6743e8cbf9e8f1a6c19c68cf0dfc2bab2 Signed-off-by: Daniel Verkamp <daniel.verkamp@intel.com>
This commit is contained in:
parent
c015a2485b
commit
6e2a6ff132
@ -51,7 +51,6 @@ struct dev {
|
|||||||
struct spdk_pci_device *pci_dev;
|
struct spdk_pci_device *pci_dev;
|
||||||
struct spdk_nvme_ctrlr *ctrlr;
|
struct spdk_nvme_ctrlr *ctrlr;
|
||||||
const struct spdk_nvme_ctrlr_data *cdata;
|
const struct spdk_nvme_ctrlr_data *cdata;
|
||||||
struct spdk_nvme_ctrlr_list *ctrlr_list;
|
|
||||||
};
|
};
|
||||||
|
|
||||||
static struct dev devs[MAX_DEVS];
|
static struct dev devs[MAX_DEVS];
|
||||||
@ -104,28 +103,29 @@ static void
|
|||||||
ns_attach(struct dev *device, int attachment_op, int ctrlr_id, int ns_id)
|
ns_attach(struct dev *device, int attachment_op, int ctrlr_id, int ns_id)
|
||||||
{
|
{
|
||||||
int ret = 0;
|
int ret = 0;
|
||||||
|
struct spdk_nvme_ctrlr_list *ctrlr_list;
|
||||||
|
|
||||||
device->ctrlr_list = rte_zmalloc("nvme controller list", sizeof(struct spdk_nvme_ctrlr_list),
|
ctrlr_list = rte_zmalloc("nvme controller list", sizeof(struct spdk_nvme_ctrlr_list),
|
||||||
4096);
|
4096);
|
||||||
if (device->ctrlr_list == NULL) {
|
if (ctrlr_list == NULL) {
|
||||||
printf("Allocation error (controller list)\n");
|
printf("Allocation error (controller list)\n");
|
||||||
exit(1);
|
exit(1);
|
||||||
}
|
}
|
||||||
|
|
||||||
device->ctrlr_list->ctrlr_count = 1;
|
ctrlr_list->ctrlr_count = 1;
|
||||||
device->ctrlr_list->ctrlr_list[0] = ctrlr_id;
|
ctrlr_list->ctrlr_list[0] = ctrlr_id;
|
||||||
|
|
||||||
if (attachment_op == SPDK_NVME_NS_CTRLR_ATTACH) {
|
if (attachment_op == SPDK_NVME_NS_CTRLR_ATTACH) {
|
||||||
ret = spdk_nvme_ctrlr_attach_ns(device->ctrlr, ns_id, device->ctrlr_list);
|
ret = spdk_nvme_ctrlr_attach_ns(device->ctrlr, ns_id, ctrlr_list);
|
||||||
} else if (attachment_op == SPDK_NVME_NS_CTRLR_DETACH) {
|
} else if (attachment_op == SPDK_NVME_NS_CTRLR_DETACH) {
|
||||||
ret = spdk_nvme_ctrlr_detach_ns(device->ctrlr, ns_id, device->ctrlr_list);
|
ret = spdk_nvme_ctrlr_detach_ns(device->ctrlr, ns_id, ctrlr_list);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (ret) {
|
if (ret) {
|
||||||
fprintf(stdout, "ns attach: Failed\n");
|
fprintf(stdout, "ns attach: Failed\n");
|
||||||
}
|
}
|
||||||
|
|
||||||
rte_free(device->ctrlr_list);
|
rte_free(ctrlr_list);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
|
Loading…
Reference in New Issue
Block a user