From: Ankit Kumar Date: Tue, 13 Feb 2024 15:33:11 +0000 (+0530) Subject: engines/xnvme: allocate iovecs only if vectored I/O is enabled X-Git-Tag: fio-3.37~44 X-Git-Url: https://git.kernel.dk/?a=commitdiff_plain;h=7f6a38693b8a695f5b6d4789341c1946f77ace24;p=fio.git engines/xnvme: allocate iovecs only if vectored I/O is enabled Signed-off-by: Ankit Kumar Reviewed-by: Jens Axboe Link: https://lore.kernel.org/r/20240213153315.134202-2-ankit.kumar@samsung.com Signed-off-by: Vincent Fu --- diff --git a/engines/xnvme.c b/engines/xnvme.c index 2a0b3520..88bbba4e 100644 --- a/engines/xnvme.c +++ b/engines/xnvme.c @@ -325,6 +325,7 @@ failure: static int xnvme_fioe_init(struct thread_data *td) { struct xnvme_fioe_data *xd = NULL; + struct xnvme_fioe_options *o = td->eo; struct fio_file *f; unsigned int i; @@ -347,12 +348,14 @@ static int xnvme_fioe_init(struct thread_data *td) return 1; } - xd->iovec = calloc(td->o.iodepth, sizeof(*xd->iovec)); - if (!xd->iovec) { - free(xd->iocq); - free(xd); - log_err("ioeng->init(): !calloc(xd->iovec), err(%d)\n", errno); - return 1; + if (o->xnvme_iovec) { + xd->iovec = calloc(td->o.iodepth, sizeof(*xd->iovec)); + if (!xd->iovec) { + free(xd->iocq); + free(xd); + log_err("ioeng->init(): !calloc(xd->iovec), err(%d)\n", errno); + return 1; + } } xd->prev = -1;