bdev/nvme: merge update/populate namespaces functions

These basically do the same thing.  We'll basically
keep the populate function name, but apply it to the
existing update function.

Signed-off-by: Jim Harris <james.r.harris@intel.com>
Change-Id: I005e983c86f2f714a240b3ba77bd2ca9463687ee

Reviewed-on: https://review.gerrithub.io/c/spdk/spdk/+/475794
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
Reviewed-by: Ben Walker <benjamin.walker@intel.com>
Reviewed-by: Changpeng Liu <changpeng.liu@intel.com>
Reviewed-by: Tomasz Zawadzki <tomasz.zawadzki@intel.com>
Reviewed-by: Konrad Sztyber <konrad.sztyber@intel.com>
Reviewed-by: Shuhei Matsumoto <shuhei.matsumoto.xt@hitachi.com>
This commit is contained in:
Jim Harris 2019-11-25 14:14:54 -07:00 committed by Tomasz Zawadzki
parent 85a7f53e69
commit 9fa0006912

View File

@ -1033,7 +1033,7 @@ nvme_ctrlr_deactivate_namespace(struct nvme_bdev_ns *ns)
}
static void
nvme_ctrlr_update_ns_bdevs(struct nvme_bdev_ctrlr *nvme_bdev_ctrlr)
nvme_ctrlr_populate_namespaces(struct nvme_bdev_ctrlr *nvme_bdev_ctrlr)
{
struct spdk_nvme_ctrlr *ctrlr = nvme_bdev_ctrlr->ctrlr;
struct nvme_bdev_ns *ns;
@ -1051,10 +1051,10 @@ nvme_ctrlr_update_ns_bdevs(struct nvme_bdev_ctrlr *nvme_bdev_ctrlr)
TAILQ_INIT(&ns->bdevs);
rc = nvme_ctrlr_populate_namespace(nvme_bdev_ctrlr, ns);
if (rc) {
memset(ns, 0, sizeof(*ns));
} else {
if (rc == 0) {
ns->active = true;
} else {
memset(ns, 0, sizeof(*ns));
}
}
@ -1079,7 +1079,7 @@ aer_cb(void *arg, const struct spdk_nvme_cpl *cpl)
event.raw = cpl->cdw0;
if ((event.bits.async_event_type == SPDK_NVME_ASYNC_EVENT_TYPE_NOTICE) &&
(event.bits.async_event_info == SPDK_NVME_ASYNC_EVENT_NS_ATTR_CHANGED)) {
nvme_ctrlr_update_ns_bdevs(nvme_bdev_ctrlr);
nvme_ctrlr_populate_namespaces(nvme_bdev_ctrlr);
}
}
@ -1774,31 +1774,6 @@ bdev_nvme_library_fini(void)
pthread_mutex_unlock(&g_bdev_nvme_mutex);
}
static void
nvme_ctrlr_populate_namespaces(struct nvme_bdev_ctrlr *nvme_bdev_ctrlr)
{
struct nvme_bdev_ns *ns;
int rc;
uint32_t nsid;
for (nsid = spdk_nvme_ctrlr_get_first_active_ns(nvme_bdev_ctrlr->ctrlr);
nsid != 0; nsid = spdk_nvme_ctrlr_get_next_active_ns(nvme_bdev_ctrlr->ctrlr, nsid)) {
ns = nvme_bdev_ctrlr->namespaces[nsid - 1];
ns->id = nsid;
ns->ctrlr = nvme_bdev_ctrlr;
TAILQ_INIT(&ns->bdevs);
rc = nvme_ctrlr_populate_namespace(nvme_bdev_ctrlr, ns);
if (rc == 0) {
ns->active = true;
} else {
memset(ns, 0, sizeof(*ns));
SPDK_NOTICELOG("Failed to populate namespace %u of %s\n", nsid, nvme_bdev_ctrlr->name);
}
}
}
static void
bdev_nvme_verify_pi_error(struct spdk_bdev_io *bdev_io)
{