From 4d649b17264c4302b07e0d36844df83674c1e01f Mon Sep 17 00:00:00 2001 From: Vitaliy Filippov Date: Sun, 29 Jun 2025 20:28:26 +0300 Subject: [PATCH] Remove alloc_buffer_area --- src/blockstore/blockstore_heap.cpp | 51 ------------------------------ src/blockstore/blockstore_heap.h | 2 -- 2 files changed, 53 deletions(-) diff --git a/src/blockstore/blockstore_heap.cpp b/src/blockstore/blockstore_heap.cpp index ea59cb64..d3f4c3c9 100644 --- a/src/blockstore/blockstore_heap.cpp +++ b/src/blockstore/blockstore_heap.cpp @@ -150,45 +150,6 @@ bool multilist_alloc_t::is_free(uint32_t pos) return nexts[pos] > 0; } -uint32_t multilist_alloc_t::allocate(uint32_t size) -{ - assert(size > 0); - assert(size <= maxn); - for (uint32_t i = size-1; i < maxn; i++) - { - if (heads[i]) - { - uint32_t res = heads[i]-1; - assert(nexts[res] >= 1); - heads[i] = nexts[res]-1; - uint32_t area = sizes[res]; - assert(area >= size); - if (area == size) - { - nexts[res] = 0; - } - else - { - uint32_t ni = area-size; - ni = (ni < maxn ? ni : maxn)-1; - sizes[res+size-1] = -size; - sizes[res] = size; - sizes[res+size-1] = -area+size; - sizes[res+size] = area-size; - nexts[res+size] = heads[ni]+1; - prevs[heads[ni]-1] = res+size+1; - assert(!prevs[res+size]); - heads[ni] = res+size+1; - } -#ifdef MULTILIST_TEST - print(); -#endif - return res; - } - } - return UINT32_MAX; -} - uint32_t multilist_alloc_t::find(uint32_t size) { assert(size > 0); @@ -1833,18 +1794,6 @@ bool blockstore_heap_t::is_buffer_area_free(uint64_t location, uint64_t size) return buffer_alloc->is_free(location / dsk->bitmap_granularity); } -uint64_t blockstore_heap_t::alloc_buffer_area(inode_t inode, uint64_t size) -{ - assert(!(size % dsk->bitmap_granularity)); - uint32_t res = buffer_alloc->allocate(size / dsk->bitmap_granularity); - if (res == UINT32_MAX) - { - return UINT64_MAX; - } - buffer_area_used_space += size; - return res * dsk->bitmap_granularity; -} - void blockstore_heap_t::use_buffer_area(inode_t inode, uint64_t location, uint64_t size) { assert(!(size % dsk->bitmap_granularity)); diff --git a/src/blockstore/blockstore_heap.h b/src/blockstore/blockstore_heap.h index 168afadc..e0025d18 100644 --- a/src/blockstore/blockstore_heap.h +++ b/src/blockstore/blockstore_heap.h @@ -104,7 +104,6 @@ struct multilist_alloc_t multilist_alloc_t(uint32_t count, uint32_t maxn); bool is_free(uint32_t pos); - uint32_t allocate(uint32_t size); uint32_t find(uint32_t size); void use_full(uint32_t pos); void use(uint32_t pos, uint32_t size); @@ -238,7 +237,6 @@ public: // buffer device allocator functions uint64_t find_free_buffer_area(uint64_t size); bool is_buffer_area_free(uint64_t location, uint64_t size); - uint64_t alloc_buffer_area(inode_t inode, uint64_t size); void use_buffer_area(inode_t inode, uint64_t location, uint64_t size); void free_buffer_area(inode_t inode, uint64_t location, uint64_t size); uint64_t get_buffer_area_used_space();