From d5adb952263be6f2bf638ff8d5832c078563758a Mon Sep 17 00:00:00 2001 From: Jim Harris Date: Fri, 23 Feb 2018 09:12:57 -0700 Subject: [PATCH] blob: use _spdk_blob_persist_complete for all persist error paths Signed-off-by: Jim Harris Change-Id: Iaef32731b05a53ac0707524d78086eedc89d6af6 Reviewed-on: https://review.gerrithub.io/401254 Tested-by: SPDK Automated Test System Reviewed-by: Maciej Szwed Reviewed-by: Daniel Verkamp Reviewed-by: Changpeng Liu Reviewed-by: Shuhei Matsumoto --- lib/blob/blobstore.c | 10 +++------- 1 file changed, 3 insertions(+), 7 deletions(-) diff --git a/lib/blob/blobstore.c b/lib/blob/blobstore.c index 4b585fa30..3643e6049 100644 --- a/lib/blob/blobstore.c +++ b/lib/blob/blobstore.c @@ -1237,8 +1237,7 @@ _spdk_blob_persist(spdk_bs_sequence_t *seq, struct spdk_blob *blob, /* Generate the new metadata */ rc = _spdk_blob_serialize(blob, &ctx->pages, &blob->active.num_pages); if (rc < 0) { - free(ctx); - cb_fn(seq, cb_arg, rc); + _spdk_blob_persist_complete(seq, ctx, rc); return; } @@ -1248,8 +1247,7 @@ _spdk_blob_persist(spdk_bs_sequence_t *seq, struct spdk_blob *blob, blob->active.pages = realloc(blob->active.pages, blob->active.num_pages * sizeof(*blob->active.pages)); if (!blob->active.pages) { - free(ctx); - cb_fn(seq, cb_arg, -ENOMEM); + _spdk_blob_persist_complete(seq, ctx, -ENOMEM); return; } @@ -1261,9 +1259,7 @@ _spdk_blob_persist(spdk_bs_sequence_t *seq, struct spdk_blob *blob, for (i = 1; i < blob->active.num_pages; i++) { page_num = spdk_bit_array_find_first_clear(bs->used_md_pages, page_num); if (page_num >= spdk_bit_array_capacity(bs->used_md_pages)) { - spdk_dma_free(ctx->pages); - free(ctx); - cb_fn(seq, cb_arg, -ENOMEM); + _spdk_blob_persist_complete(seq, ctx, -ENOMEM); return; } page_num++;