nvme: Unify spdk_nvme_discover and spdk_nvme_probe
They were very close to the same already, so finish the job. Change-Id: Ifba9e3b2d11a3e70cbfbe46f57a67552db2757ed Signed-off-by: Ben Walker <benjamin.walker@intel.com>
This commit is contained in:
parent
c00bce397d
commit
df46c41a4c
@ -557,7 +557,7 @@ spdk_nvmf_parse_subsystem(struct spdk_conf_section *sp)
|
||||
ctx.any = false;
|
||||
}
|
||||
|
||||
if (spdk_nvme_probe(&ctx, probe_cb, attach_cb, NULL)) {
|
||||
if (spdk_nvme_probe(NULL, &ctx, probe_cb, attach_cb, NULL)) {
|
||||
SPDK_ERRLOG("One or more controllers failed in spdk_nvme_probe()\n");
|
||||
}
|
||||
|
||||
@ -748,7 +748,7 @@ spdk_nvmf_parse_subsystem_for_rpc(const char *name,
|
||||
ctx.any = false;
|
||||
}
|
||||
|
||||
if (spdk_nvme_probe(&ctx, probe_cb, attach_cb, NULL)) {
|
||||
if (spdk_nvme_probe(NULL, &ctx, probe_cb, attach_cb, NULL)) {
|
||||
SPDK_ERRLOG("One or more controllers failed in spdk_nvme_probe()\n");
|
||||
}
|
||||
|
||||
|
@ -882,7 +882,7 @@ register_controllers(void)
|
||||
{
|
||||
printf("Initializing NVMe Controllers\n");
|
||||
|
||||
if (spdk_nvme_probe(NULL, probe_cb, attach_cb, NULL) != 0) {
|
||||
if (spdk_nvme_probe(NULL, NULL, probe_cb, attach_cb, NULL) != 0) {
|
||||
fprintf(stderr, "spdk_nvme_probe() failed\n");
|
||||
return 1;
|
||||
}
|
||||
|
@ -205,7 +205,7 @@ static int spdk_fio_setup(struct thread_data *td)
|
||||
}
|
||||
|
||||
/* Enumerate all of the controllers */
|
||||
if (spdk_nvme_probe(td, probe_cb, attach_cb, NULL) != 0) {
|
||||
if (spdk_nvme_probe(NULL, td, probe_cb, attach_cb, NULL) != 0) {
|
||||
fprintf(stderr, "spdk_nvme_probe() failed\n");
|
||||
return 1;
|
||||
}
|
||||
|
@ -340,7 +340,7 @@ int main(int argc, char **argv)
|
||||
* called for each controller after the SPDK NVMe driver has completed
|
||||
* initializing the controller we chose to attach.
|
||||
*/
|
||||
rc = spdk_nvme_probe(NULL, probe_cb, attach_cb, NULL);
|
||||
rc = spdk_nvme_probe(NULL, NULL, probe_cb, attach_cb, NULL);
|
||||
if (rc != 0) {
|
||||
fprintf(stderr, "spdk_nvme_probe() failed\n");
|
||||
cleanup();
|
||||
|
@ -337,7 +337,7 @@ io_loop(void)
|
||||
/*
|
||||
* Check for hotplug events.
|
||||
*/
|
||||
if (spdk_nvme_probe(NULL, probe_cb, attach_cb, remove_cb) != 0) {
|
||||
if (spdk_nvme_probe(NULL, NULL, probe_cb, attach_cb, remove_cb) != 0) {
|
||||
fprintf(stderr, "spdk_nvme_probe() failed\n");
|
||||
break;
|
||||
}
|
||||
@ -421,7 +421,7 @@ register_controllers(void)
|
||||
{
|
||||
fprintf(stderr, "Initializing NVMe Controllers\n");
|
||||
|
||||
if (spdk_nvme_probe(NULL, probe_cb, attach_cb, remove_cb) != 0) {
|
||||
if (spdk_nvme_probe(NULL, NULL, probe_cb, attach_cb, remove_cb) != 0) {
|
||||
fprintf(stderr, "spdk_nvme_probe() failed\n");
|
||||
return 1;
|
||||
}
|
||||
|
@ -990,12 +990,12 @@ int main(int argc, char **argv)
|
||||
|
||||
rc = 0;
|
||||
if (trid.trtype == SPDK_NVME_TRANSPORT_RDMA) {
|
||||
if (spdk_nvme_discover(&trid, NULL, probe_cb, attach_cb, NULL) != 0) {
|
||||
if (spdk_nvme_probe(&trid, NULL, probe_cb, attach_cb, NULL) != 0) {
|
||||
fprintf(stderr, "spdk_nvme_probe() failed\n");
|
||||
}
|
||||
}
|
||||
|
||||
if (spdk_nvme_probe(NULL, probe_cb, attach_cb, NULL) != 0) {
|
||||
if (spdk_nvme_probe(NULL, NULL, probe_cb, attach_cb, NULL) != 0) {
|
||||
fprintf(stderr, "spdk_nvme_probe() failed\n");
|
||||
rc = 1;
|
||||
}
|
||||
|
@ -853,7 +853,7 @@ int main(int argc, char **argv)
|
||||
exit(1);
|
||||
}
|
||||
|
||||
if (spdk_nvme_probe(NULL, probe_cb, attach_cb, NULL) != 0) {
|
||||
if (spdk_nvme_probe(NULL, NULL, probe_cb, attach_cb, NULL) != 0) {
|
||||
fprintf(stderr, "spdk_nvme_probe() failed\n");
|
||||
return 1;
|
||||
}
|
||||
|
@ -1045,7 +1045,7 @@ register_controllers(void)
|
||||
|
||||
printf("Initializing NVMe Controllers\n");
|
||||
|
||||
if (spdk_nvme_probe(NULL, probe_cb, attach_cb, NULL) != 0) {
|
||||
if (spdk_nvme_probe(NULL, NULL, probe_cb, attach_cb, NULL) != 0) {
|
||||
fprintf(stderr, "spdk_nvme_probe() failed\n");
|
||||
}
|
||||
|
||||
@ -1091,8 +1091,8 @@ register_controllers(void)
|
||||
|
||||
p = (char *)p1 + 1;
|
||||
snprintf(trid.trsvcid, sizeof(trid.trsvcid), "%s", p);
|
||||
if (spdk_nvme_discover(&trid, NULL, probe_cb, attach_cb, NULL) != 0) {
|
||||
fprintf(stderr, "spdk_nvme_discover() failed\n");
|
||||
if (spdk_nvme_probe(&trid, NULL, probe_cb, attach_cb, NULL) != 0) {
|
||||
fprintf(stderr, "spdk_nvme_probe() failed\n");
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -400,7 +400,7 @@ int main(int argc, char **argv)
|
||||
exit(1);
|
||||
}
|
||||
|
||||
if (spdk_nvme_probe(NULL, probe_cb, attach_cb, NULL) != 0) {
|
||||
if (spdk_nvme_probe(NULL, NULL, probe_cb, attach_cb, NULL) != 0) {
|
||||
fprintf(stderr, "spdk_nvme_probe() failed\n");
|
||||
return 1;
|
||||
}
|
||||
|
@ -215,28 +215,12 @@ typedef void (*spdk_nvme_attach_cb)(void *cb_ctx, const struct spdk_nvme_transpo
|
||||
typedef void (*spdk_nvme_remove_cb)(void *cb_ctx, struct spdk_nvme_ctrlr *ctrlr);
|
||||
|
||||
/**
|
||||
* \brief Perform a device discovery using the discovery service specified by trid.
|
||||
*
|
||||
* \param trid The address of the discovery service on which to perform the discovery.
|
||||
* \param cb_ctx Opaque value which will be passed back in cb_ctx parameter of the callbacks.
|
||||
* \param probe_cb will be called once per NVMe device found in the system.
|
||||
* \param attach_cb will be called for devices for which probe_cb returned true once that NVMe
|
||||
* controller has been attached to the userspace driver.
|
||||
* \param remove_cb will be called for devices that were attached in a previous spdk_nvme_probe()
|
||||
* call but are no longer attached to the system. Optional; specify NULL if removal notices are not
|
||||
* desired.
|
||||
*
|
||||
*/
|
||||
int spdk_nvme_discover(const struct spdk_nvme_transport_id *trid,
|
||||
void *cb_ctx,
|
||||
spdk_nvme_probe_cb probe_cb,
|
||||
spdk_nvme_attach_cb attach_cb,
|
||||
spdk_nvme_remove_cb remove_cb);
|
||||
|
||||
/**
|
||||
* \brief Enumerate the NVMe devices attached to the system and attach the userspace NVMe driver
|
||||
* to them if desired.
|
||||
* \brief Enumerate the bus indicated by the transport ID and attach the userspace NVMe driver
|
||||
* to each device found if desired.
|
||||
*
|
||||
* \param trid The transport ID indicating which bus to enumerate. If the trtype is PCIe or trid is NULL,
|
||||
* this will scan the local PCIe bus. If the trtype is RDMA, the traddr and trsvcid must point at the
|
||||
* location of an NVMe-oF discovery service.
|
||||
* \param cb_ctx Opaque value which will be passed back in cb_ctx parameter of the callbacks.
|
||||
* \param probe_cb will be called once per NVMe device found in the system.
|
||||
* \param attach_cb will be called for devices for which probe_cb returned true once that NVMe
|
||||
@ -257,7 +241,8 @@ int spdk_nvme_discover(const struct spdk_nvme_transport_id *trid,
|
||||
* To stop using the the controller and release its associated resources,
|
||||
* call \ref spdk_nvme_detach with the spdk_nvme_ctrlr instance returned by this function.
|
||||
*/
|
||||
int spdk_nvme_probe(void *cb_ctx,
|
||||
int spdk_nvme_probe(const struct spdk_nvme_transport_id *trid,
|
||||
void *cb_ctx,
|
||||
spdk_nvme_probe_cb probe_cb,
|
||||
spdk_nvme_attach_cb attach_cb,
|
||||
spdk_nvme_remove_cb remove_cb);
|
||||
|
@ -551,7 +551,7 @@ spdk_bdev_nvme_create(struct nvme_probe_ctx *ctx)
|
||||
|
||||
prev_index_max = blockdev_index_max;
|
||||
|
||||
if (spdk_nvme_probe(ctx, probe_cb, attach_cb, NULL)) {
|
||||
if (spdk_nvme_probe(NULL, ctx, probe_cb, attach_cb, NULL)) {
|
||||
return -1;
|
||||
}
|
||||
|
||||
|
@ -434,10 +434,10 @@ nvme_hotplug_monitor(void *cb_ctx, spdk_nvme_probe_cb probe_cb,
|
||||
return 0;
|
||||
}
|
||||
|
||||
static int
|
||||
_spdk_nvme_probe(const struct spdk_nvme_transport_id *trid, void *cb_ctx,
|
||||
spdk_nvme_probe_cb probe_cb, spdk_nvme_attach_cb attach_cb,
|
||||
spdk_nvme_remove_cb remove_cb)
|
||||
int
|
||||
spdk_nvme_probe(const struct spdk_nvme_transport_id *trid, void *cb_ctx,
|
||||
spdk_nvme_probe_cb probe_cb, spdk_nvme_attach_cb attach_cb,
|
||||
spdk_nvme_remove_cb remove_cb)
|
||||
{
|
||||
int rc;
|
||||
struct spdk_nvme_ctrlr *ctrlr;
|
||||
@ -501,19 +501,4 @@ _spdk_nvme_probe(const struct spdk_nvme_transport_id *trid, void *cb_ctx,
|
||||
return rc;
|
||||
}
|
||||
|
||||
int spdk_nvme_discover(const struct spdk_nvme_transport_id *trid,
|
||||
void *cb_ctx,
|
||||
spdk_nvme_probe_cb probe_cb,
|
||||
spdk_nvme_attach_cb attach_cb,
|
||||
spdk_nvme_remove_cb remove_cb)
|
||||
{
|
||||
return _spdk_nvme_probe(trid, cb_ctx, probe_cb, attach_cb, remove_cb);
|
||||
}
|
||||
|
||||
int
|
||||
spdk_nvme_probe(void *cb_ctx, spdk_nvme_probe_cb probe_cb, spdk_nvme_attach_cb attach_cb,
|
||||
spdk_nvme_remove_cb remove_cb)
|
||||
{
|
||||
return _spdk_nvme_probe(NULL, cb_ctx, probe_cb, attach_cb, remove_cb);
|
||||
}
|
||||
SPDK_LOG_REGISTER_TRACE_FLAG("nvme", SPDK_TRACE_NVME)
|
||||
|
@ -237,7 +237,7 @@ int main(int argc, char **argv)
|
||||
exit(1);
|
||||
}
|
||||
|
||||
if (spdk_nvme_probe(NULL, probe_cb, attach_cb, NULL) != 0) {
|
||||
if (spdk_nvme_probe(NULL, NULL, probe_cb, attach_cb, NULL) != 0) {
|
||||
fprintf(stderr, "spdk_nvme_probe() failed\n");
|
||||
return 1;
|
||||
}
|
||||
|
@ -653,7 +653,7 @@ int main(int argc, char **argv)
|
||||
exit(1);
|
||||
}
|
||||
|
||||
if (spdk_nvme_probe(NULL, probe_cb, attach_cb, NULL) != 0) {
|
||||
if (spdk_nvme_probe(NULL, NULL, probe_cb, attach_cb, NULL) != 0) {
|
||||
fprintf(stderr, "nvme_probe() failed\n");
|
||||
exit(1);
|
||||
}
|
||||
|
@ -562,7 +562,7 @@ register_controllers(void)
|
||||
{
|
||||
printf("Initializing NVMe Controllers\n");
|
||||
|
||||
if (spdk_nvme_probe(NULL, probe_cb, attach_cb, NULL) != 0) {
|
||||
if (spdk_nvme_probe(NULL, NULL, probe_cb, attach_cb, NULL) != 0) {
|
||||
fprintf(stderr, "spdk_nvme_probe() failed\n");
|
||||
return 1;
|
||||
}
|
||||
|
@ -526,7 +526,7 @@ register_controllers(void)
|
||||
{
|
||||
printf("Initializing NVMe Controllers\n");
|
||||
|
||||
if (spdk_nvme_probe(NULL, probe_cb, attach_cb, NULL) != 0) {
|
||||
if (spdk_nvme_probe(NULL, NULL, probe_cb, attach_cb, NULL) != 0) {
|
||||
fprintf(stderr, "spdk_nvme_probe() failed\n");
|
||||
return 1;
|
||||
}
|
||||
|
@ -427,7 +427,7 @@ int main(int argc, char **argv)
|
||||
exit(1);
|
||||
}
|
||||
|
||||
if (spdk_nvme_probe(NULL, probe_cb, attach_cb, NULL) != 0) {
|
||||
if (spdk_nvme_probe(NULL, NULL, probe_cb, attach_cb, NULL) != 0) {
|
||||
fprintf(stderr, "nvme_probe() failed\n");
|
||||
exit(1);
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user