summaryrefslogtreecommitdiff
path: root/lib/sqfs/block_processor/serial.c
diff options
context:
space:
mode:
authorDavid Oberhollenzer <david.oberhollenzer@sigma-star.at>2021-01-14 04:40:36 +0100
committerDavid Oberhollenzer <david.oberhollenzer@sigma-star.at>2021-01-19 10:30:20 +0100
commit8db9823b63d82196b204cb969752eff6adb15756 (patch)
tree81df3120de677e4047068fc545ca84537d9cdcf9 /lib/sqfs/block_processor/serial.c
parent8f5f8702412a98fd8f70a9342f82414127703806 (diff)
Fix: Move fragment consolidation back to block processor serial part
Keeping a list of fragments stored away in the current fragment block and consolidating them in the thread pool takes them out of circulation. If we have a lot of tiny fragments, this can lead to a situation where all the limit is reached, but we cannot do anything, because we are waiting for a block to complete, but they are all attached to the current fragment block and the queue is empty. Signed-off-by: David Oberhollenzer <david.oberhollenzer@sigma-star.at>
Diffstat (limited to 'lib/sqfs/block_processor/serial.c')
-rw-r--r--lib/sqfs/block_processor/serial.c12
1 files changed, 0 insertions, 12 deletions
diff --git a/lib/sqfs/block_processor/serial.c b/lib/sqfs/block_processor/serial.c
index f56f3cb..4d6b3ec 100644
--- a/lib/sqfs/block_processor/serial.c
+++ b/lib/sqfs/block_processor/serial.c
@@ -13,17 +13,6 @@ typedef struct {
sqfs_u8 scratch[];
} serial_block_processor_t;
-static void free_block_list(sqfs_block_t *list)
-{
- sqfs_block_t *blk;
-
- while (list != NULL) {
- blk = list;
- list = blk->next;
- free(blk);
- }
-}
-
static void block_processor_destroy(sqfs_object_t *obj)
{
sqfs_block_processor_t *proc = (sqfs_block_processor_t *)obj;
@@ -63,7 +52,6 @@ static int append_to_work_queue(sqfs_block_processor_t *proc,
sproc->status = proc->process_completed_block(proc, block);
return sproc->status;
fail:
- free_block_list(block->frag_list);
free(block);
return sproc->status;
}