aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAnkit Kumar <ankit.kumar@samsung.com>2024-02-13 21:03:11 +0530
committerVincent Fu <vincent.fu@samsung.com>2024-02-13 14:24:59 -0500
commit7f6a38693b8a695f5b6d4789341c1946f77ace24 (patch)
treed3214a36ddc15a9ff1b9fb9f64d7bceb9aa922c7
parent119b7ce8e53226aa889cc243c08ec4892a5ec63b (diff)
downloadfio-7f6a38693b8a695f5b6d4789341c1946f77ace24.tar.gz
engines/xnvme: allocate iovecs only if vectored I/O is enabled
Signed-off-by: Ankit Kumar <ankit.kumar@samsung.com> Reviewed-by: Jens Axboe <axboe@kernel.dk> Link: https://lore.kernel.org/r/20240213153315.134202-2-ankit.kumar@samsung.com Signed-off-by: Vincent Fu <vincent.fu@samsung.com>
-rw-r--r--engines/xnvme.c15
1 files changed, 9 insertions, 6 deletions
diff --git a/engines/xnvme.c b/engines/xnvme.c
index 2a0b3520b..88bbba4e2 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;