X-Git-Url: https://git.lttng.org/?a=blobdiff_plain;f=src%2Fcommon%2Findex-allocator.c;h=8c73218a950d5275ac70d163ace4893cb53439ea;hb=48a4000561343808724f7cb5fa8c131877489ccd;hp=3de09a8310ebb26e5e5b2c90056234436573f05b;hpb=246611b0dffa58fbc0e2329ddf6f9dc9d9eff7ce;p=lttng-tools.git diff --git a/src/common/index-allocator.c b/src/common/index-allocator.c index 3de09a831..8c73218a9 100644 --- a/src/common/index-allocator.c +++ b/src/common/index-allocator.c @@ -5,7 +5,6 @@ * */ -#include #include #include @@ -20,6 +19,7 @@ struct lttng_index_allocator { struct cds_list_head unused_list; uint64_t size; uint64_t position; + uint64_t nb_allocated_indexes; }; struct lttng_index { @@ -40,6 +40,7 @@ struct lttng_index_allocator *lttng_index_allocator_create( allocator->size = index_count; allocator->position = 0; + allocator->nb_allocated_indexes = 0; CDS_INIT_LIST_HEAD(&allocator->unused_list); @@ -49,7 +50,7 @@ end: uint64_t lttng_index_allocator_get_index_count(struct lttng_index_allocator *allocator) { - return allocator->size; + return allocator->nb_allocated_indexes; } enum lttng_index_allocator_status lttng_index_allocator_alloc( @@ -77,6 +78,7 @@ enum lttng_index_allocator_status lttng_index_allocator_alloc( free(index); } + allocator->nb_allocated_indexes++; end: return status; } @@ -88,7 +90,7 @@ enum lttng_index_allocator_status lttng_index_allocator_release( enum lttng_index_allocator_status status = LTTNG_INDEX_ALLOCATOR_STATUS_OK; - assert(idx < allocator->size); + LTTNG_ASSERT(idx < allocator->size); index = zmalloc(sizeof(*index)); if (!index) { @@ -99,6 +101,7 @@ enum lttng_index_allocator_status lttng_index_allocator_release( index->index = idx; cds_list_add_tail(&index->head, &allocator->unused_list); + allocator->nb_allocated_indexes--; end: return status;