From 292b8e0c3e888fc845b2319ebc6c734baff2349a Mon Sep 17 00:00:00 2001 From: Nick Connolly Date: Fri, 26 Feb 2021 13:30:07 +0000 Subject: [PATCH] ut/bdev_nvme: fix 'used uninitialised' warning On some platforms, GCC identifies that opts.io_queue_requests is used uninitialised in bdev_nvme_create_qpair due to the stub function spdk_nvme_ctrlr_get_default_io_qpair_opts which would normally zero the qpair opts. Whether the warning appears is likely to be determined by how effectively the platform garbage collects unused code. Replace the stub with a minimal implementation that zeros the qpair opts to avoid the warning. Signed-off-by: Nick Connolly Change-Id: I2b8c2d657ae5401c3b35ca66938a966906cdc846 Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/6595 Community-CI: Mellanox Build Bot Reviewed-by: Aleksey Marchuk Reviewed-by: Jim Harris Reviewed-by: Shuhei Matsumoto Tested-by: SPDK CI Jenkins --- test/unit/lib/bdev/nvme/bdev_nvme.c/bdev_nvme_ut.c | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/test/unit/lib/bdev/nvme/bdev_nvme.c/bdev_nvme_ut.c b/test/unit/lib/bdev/nvme/bdev_nvme.c/bdev_nvme_ut.c index ab519b05c..46a501a1a 100644 --- a/test/unit/lib/bdev/nvme/bdev_nvme.c/bdev_nvme_ut.c +++ b/test/unit/lib/bdev/nvme/bdev_nvme.c/bdev_nvme_ut.c @@ -73,8 +73,13 @@ DEFINE_STUB(spdk_nvme_ctrlr_process_admin_completions, int32_t, DEFINE_STUB(spdk_nvme_ctrlr_get_flags, uint64_t, (struct spdk_nvme_ctrlr *ctrlr), 0); -DEFINE_STUB_V(spdk_nvme_ctrlr_get_default_io_qpair_opts, (struct spdk_nvme_ctrlr *ctrlr, - struct spdk_nvme_io_qpair_opts *opts, size_t opts_size)); +void +spdk_nvme_ctrlr_get_default_io_qpair_opts(struct spdk_nvme_ctrlr *ctrlr, + struct spdk_nvme_io_qpair_opts *opts, size_t opts_size) +{ + /* Avoid warning that opts is used uninitialised */ + memset(opts, 0, opts_size); +} DEFINE_STUB(spdk_nvme_ctrlr_get_max_xfer_size, uint32_t, (const struct spdk_nvme_ctrlr *ctrlr), 0);