examples/nvme/fio_plugin: Init VMD during spdk_fio_setup()
Try to enumerate VMD devices in fio_plugin. New flag enable_vmd was added to fio config. Change-Id: I5546665719e4ef2b169d403db8bf0398e834dbc4 Signed-off-by: Wojciech Malikowski <wojciech.malikowski@intel.com> Reviewed-on: https://review.gerrithub.io/c/spdk/spdk/+/456992 Tested-by: SPDK CI Jenkins <sys_sgci@intel.com> Reviewed-by: Paul Luse <paul.e.luse@intel.com> Reviewed-by: Darek Stojaczyk <dariusz.stojaczyk@intel.com> Reviewed-by: Shuhei Matsumoto <shuhei.matsumoto.xt@hitachi.com> Reviewed-by: Ben Walker <benjamin.walker@intel.com>
This commit is contained in:
parent
8b29e8bc7f
commit
de6a68e031
@ -34,6 +34,7 @@
|
|||||||
#include "spdk/stdinc.h"
|
#include "spdk/stdinc.h"
|
||||||
|
|
||||||
#include "spdk/nvme.h"
|
#include "spdk/nvme.h"
|
||||||
|
#include "spdk/vmd.h"
|
||||||
#include "spdk/env.h"
|
#include "spdk/env.h"
|
||||||
#include "spdk/string.h"
|
#include "spdk/string.h"
|
||||||
#include "spdk/log.h"
|
#include "spdk/log.h"
|
||||||
@ -69,6 +70,7 @@ struct spdk_fio_options {
|
|||||||
int apptag;
|
int apptag;
|
||||||
int apptag_mask;
|
int apptag_mask;
|
||||||
char *digest_enable;
|
char *digest_enable;
|
||||||
|
int enable_vmd;
|
||||||
};
|
};
|
||||||
|
|
||||||
struct spdk_fio_request {
|
struct spdk_fio_request {
|
||||||
@ -431,6 +433,10 @@ static int spdk_fio_setup(struct thread_data *td)
|
|||||||
if (rc != 0) {
|
if (rc != 0) {
|
||||||
SPDK_ERRLOG("Unable to spawn a thread to poll admin queues. They won't be polled.\n");
|
SPDK_ERRLOG("Unable to spawn a thread to poll admin queues. They won't be polled.\n");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (fio_options->enable_vmd && spdk_vmd_init()) {
|
||||||
|
SPDK_ERRLOG("Failed to initialize VMD. Some NVMe devices can be unavailable.\n");
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
for_each_file(td, f, i) {
|
for_each_file(td, f, i) {
|
||||||
@ -1045,6 +1051,16 @@ static struct fio_option options[] = {
|
|||||||
.category = FIO_OPT_C_ENGINE,
|
.category = FIO_OPT_C_ENGINE,
|
||||||
.group = FIO_OPT_G_INVALID,
|
.group = FIO_OPT_G_INVALID,
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
.name = "enable_vmd",
|
||||||
|
.lname = "Enable VMD enumeration",
|
||||||
|
.type = FIO_OPT_INT,
|
||||||
|
.off1 = offsetof(struct spdk_fio_options, enable_vmd),
|
||||||
|
.def = "0",
|
||||||
|
.help = "Enable VMD enumeration (enable_vmd=1 or enable_vmd=0)",
|
||||||
|
.category = FIO_OPT_C_ENGINE,
|
||||||
|
.group = FIO_OPT_G_INVALID,
|
||||||
|
},
|
||||||
{
|
{
|
||||||
.name = NULL,
|
.name = NULL,
|
||||||
},
|
},
|
||||||
|
Loading…
Reference in New Issue
Block a user