From 57e6e0c8be7a07feb8da3bea88b8dfa09cdd2ed9 Mon Sep 17 00:00:00 2001 From: Ben Walker Date: Tue, 28 Mar 2017 16:51:29 -0700 Subject: [PATCH] blob: Initialize new metadata pages after allocation The descriptor type must be 0 to break out of the loop, so we need to initialize this. Change-Id: I5fdb24dcfece01332c487364d5694c4fb8412e1b Signed-off-by: Ben Walker --- lib/blob/blobstore.c | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/lib/blob/blobstore.c b/lib/blob/blobstore.c index ec439d072..44875283f 100644 --- a/lib/blob/blobstore.c +++ b/lib/blob/blobstore.c @@ -297,9 +297,9 @@ _spdk_blob_serialize_add_page(const struct spdk_blob *blob, if (*page_count == 0) { assert(*pages == NULL); *page_count = 1; - *pages = spdk_zmalloc(sizeof(struct spdk_blob_md_page), - sizeof(struct spdk_blob_md_page), - NULL); + *pages = spdk_malloc(sizeof(struct spdk_blob_md_page), + sizeof(struct spdk_blob_md_page), + NULL); } else { assert(*pages != NULL); (*page_count)++; @@ -316,6 +316,7 @@ _spdk_blob_serialize_add_page(const struct spdk_blob *blob, } page = &(*pages)[*page_count - 1]; + memset(page, 0, sizeof(*page)); page->id = blob->id; page->sequence_num = *page_count - 1; page->next = SPDK_INVALID_MD_PAGE;