diff --git a/lib/blob/blobstore.c b/lib/blob/blobstore.c index 62c04ed41..87319519b 100644 --- a/lib/blob/blobstore.c +++ b/lib/blob/blobstore.c @@ -3073,6 +3073,7 @@ spdk_blob_sync_md(struct spdk_blob *_blob, spdk_blob_op_complete cb_fn, void *cb if (blob->md_ro) { assert(blob->state == SPDK_BLOB_STATE_CLEAN); + cb_fn(cb_arg, 0); return; } diff --git a/test/unit/lib/blob/blob.c/blob_ut.c b/test/unit/lib/blob/blob.c/blob_ut.c index 1533aa89d..dca8b1e81 100644 --- a/test/unit/lib/blob/blob.c/blob_ut.c +++ b/test/unit/lib/blob/blob.c/blob_ut.c @@ -2339,6 +2339,10 @@ blob_flags(void) CU_ASSERT(__blob_to_data(blob_md_ro)->data_ro == false); CU_ASSERT(__blob_to_data(blob_md_ro)->md_ro == true); + g_bserrno = -1; + spdk_blob_sync_md(blob_md_ro, blob_op_complete, NULL); + CU_ASSERT(g_bserrno == 0); + spdk_blob_close(blob_data_ro, blob_op_complete, NULL); CU_ASSERT(g_bserrno == 0); spdk_blob_close(blob_md_ro, blob_op_complete, NULL);