From 87d577a66eb3b1aaca91c4841445cccaf151ee81 Mon Sep 17 00:00:00 2001 From: David Oberhollenzer Date: Tue, 24 Sep 2019 01:55:08 +0200 Subject: Process completed blocks one-by-one This commit makes sure the block processor enqueue function dequeues at most a single block which it dispatches. Signed-off-by: David Oberhollenzer --- lib/sqfs/blk_proc/process_block.c | 27 +-------------------------- 1 file changed, 1 insertion(+), 26 deletions(-) (limited to 'lib/sqfs/blk_proc/process_block.c') diff --git a/lib/sqfs/blk_proc/process_block.c b/lib/sqfs/blk_proc/process_block.c index 643d964..b303278 100644 --- a/lib/sqfs/blk_proc/process_block.c +++ b/lib/sqfs/blk_proc/process_block.c @@ -105,7 +105,7 @@ static size_t grow_fragment_table(sqfs_block_processor_t *proc, size_t index) return 0; } -static int handle_block(sqfs_block_processor_t *proc, sqfs_block_t *blk) +int process_completed_block(sqfs_block_processor_t *proc, sqfs_block_t *blk) { size_t start, count; uint64_t offset; @@ -181,28 +181,3 @@ static int handle_block(sqfs_block_processor_t *proc, sqfs_block_t *blk) return 0; } - -int process_completed_blocks(sqfs_block_processor_t *proc, sqfs_block_t *queue) -{ - sqfs_block_t *it; - int err; - - while (queue != NULL) { - it = queue; - queue = queue->next; - - err = handle_block(proc, it); - free(it); - - if (err) { - while (queue != NULL) { - it = queue; - queue = it->next; - free(it); - } - return err; - } - } - - return 0; -} -- cgit v1.2.3