diff --git a/lib/nvmf/nvmf.c b/lib/nvmf/nvmf.c index f3cf52258..fc1a33025 100644 --- a/lib/nvmf/nvmf.c +++ b/lib/nvmf/nvmf.c @@ -35,6 +35,7 @@ #include #include +#include #include "spdk/log.h" #include "spdk/conf.h" @@ -79,11 +80,22 @@ spdk_nvmf_initialize_pools(void) return 0; } +/* + * Wrapper to provide rte_mempool_avail_count() on older DPDK versions. + * Drop this if the minimum DPDK version is raised to at least 16.07. + */ +#if RTE_VERSION < RTE_VERSION_NUM(16, 7, 0, 1) +static unsigned rte_mempool_avail_count(const struct rte_mempool *pool) +{ + return rte_mempool_count(pool); +} +#endif + static int spdk_nvmf_check_pool(struct rte_mempool *pool, uint32_t count) { - if (rte_mempool_count(pool) != count) { - SPDK_ERRLOG("rte_mempool_count(%s) == %d, should be %d\n", - pool->name, rte_mempool_count(pool), count); + if (rte_mempool_avail_count(pool) != count) { + SPDK_ERRLOG("rte_mempool_avail_count(%s) == %d, should be %d\n", + pool->name, rte_mempool_avail_count(pool), count); return -1; } else { return 0;