diff --git a/lib/ftl/ftl_rwb.c b/lib/ftl/ftl_rwb.c index 5ef26a11a..e8979f159 100644 --- a/lib/ftl/ftl_rwb.c +++ b/lib/ftl/ftl_rwb.c @@ -178,7 +178,7 @@ ftl_rwb_init(const struct spdk_ftl_conf *conf, size_t xfer_size, size_t md_size) { struct ftl_rwb *rwb; struct ftl_rwb_batch *batch; - size_t ring_size, i; + size_t i; rwb = calloc(1, sizeof(*rwb)); if (!rwb) { @@ -191,14 +191,13 @@ ftl_rwb_init(const struct spdk_ftl_conf *conf, size_t xfer_size, size_t md_size) rwb->md_size = md_size; rwb->num_batches = conf->rwb_size / (FTL_BLOCK_SIZE * xfer_size); - ring_size = spdk_align32pow2(rwb->num_batches); - rwb->batches = calloc(rwb->num_batches, sizeof(*rwb->batches)); if (!rwb->batches) { goto error; } - rwb->submit_queue = spdk_ring_create(SPDK_RING_TYPE_MP_SC, ring_size, + rwb->submit_queue = spdk_ring_create(SPDK_RING_TYPE_MP_SC, + spdk_align32pow2(rwb->num_batches + 1), SPDK_ENV_SOCKET_ID_ANY); if (!rwb->submit_queue) { SPDK_ERRLOG("Failed to create submission queue\n");