diff --git a/src/placement/jump_map.c b/src/placement/jump_map.c index 3f439d43905..dc69a981f45 100644 --- a/src/placement/jump_map.c +++ b/src/placement/jump_map.c @@ -642,12 +642,11 @@ get_object_layout(struct pl_jump_map *jmap, struct pl_obj_layout *layout, } rc = 0; - if (out_list != NULL) { + D_INIT_LIST_HEAD(&local_list); + if (out_list != NULL) remap_list = out_list; - } else { - D_INIT_LIST_HEAD(&local_list); + else remap_list = &local_list; - } dom_size = (struct pool_domain *)(root->do_targets) - (root) + 1; D_ALLOC_ARRAY(dom_used, (dom_size / NBBY) + 1); diff --git a/src/placement/ring_map.c b/src/placement/ring_map.c index c57bbfd57a5..04171e2391b 100644 --- a/src/placement/ring_map.c +++ b/src/placement/ring_map.c @@ -1091,15 +1091,13 @@ ring_obj_layout_fill(struct pl_map *map, struct daos_obj_md *md, } rc = ring_obj_remap_shards(rimap, md, layout, rop, remap_list, - for_reint); + for_reint); if (rc == 0) obj_layout_dump(md->omd_id, layout); out: - if (rc) { + if (rc) D_ERROR("ring_obj_layout_fill failed, rc "DF_RC"\n", DP_RC(rc)); - remap_list_free_all(remap_list); - } return rc; } @@ -1134,6 +1132,7 @@ ring_obj_place(struct pl_map *map, struct daos_obj_md *md, if (rc) { D_ERROR("ring_obj_layout_fill failed, rc "DF_RC"\n", DP_RC(rc)); pl_obj_layout_free(layout); + remap_list_free_all(&remap_list); return rc; } diff --git a/src/placement/tests/placement_test.c b/src/placement/tests/placement_test.c index b93d944e1ad..b757b395091 100644 --- a/src/placement/tests/placement_test.c +++ b/src/placement/tests/placement_test.c @@ -96,6 +96,7 @@ int main(int argc, char *argv[]) cmocka_set_test_filter(filter); } #else + sprintf(filter, "*%s*", optarg); D_PRINT("filter not enabled. %s not applied", filter); #endif break;