blob: use _spdk_blob_persist_complete for all persist error paths
Signed-off-by: Jim Harris <james.r.harris@intel.com> Change-Id: Iaef32731b05a53ac0707524d78086eedc89d6af6 Reviewed-on: https://review.gerrithub.io/401254 Tested-by: SPDK Automated Test System <sys_sgsw@intel.com> Reviewed-by: Maciej Szwed <maciej.szwed@intel.com> Reviewed-by: Daniel Verkamp <daniel.verkamp@intel.com> Reviewed-by: Changpeng Liu <changpeng.liu@intel.com> Reviewed-by: Shuhei Matsumoto <shuhei.matsumoto.xt@hitachi.com>
This commit is contained in:
parent
cb42aa1dce
commit
d5adb95226
@ -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++;
|
||||
|
Loading…
Reference in New Issue
Block a user