summaryrefslogtreecommitdiff
path: root/lib/sqfs
diff options
context:
space:
mode:
Diffstat (limited to 'lib/sqfs')
-rw-r--r--lib/sqfs/block_processor/common.c2
-rw-r--r--lib/sqfs/block_writer.c17
2 files changed, 7 insertions, 12 deletions
diff --git a/lib/sqfs/block_processor/common.c b/lib/sqfs/block_processor/common.c
index bd37068..757544a 100644
--- a/lib/sqfs/block_processor/common.c
+++ b/lib/sqfs/block_processor/common.c
@@ -73,6 +73,8 @@ int process_completed_block(sqfs_block_processor_t *proc, sqfs_block_t *blk)
if (err)
goto out;
+ proc->stats.output_bytes_generated += blk->size;
+
if (blk->flags & SQFS_BLK_IS_SPARSE) {
sqfs_inode_make_extended(*(blk->inode));
(*(blk->inode))->data.file_ext.sparse += blk->size;
diff --git a/lib/sqfs/block_writer.c b/lib/sqfs/block_writer.c
index b819b58..06cbd37 100644
--- a/lib/sqfs/block_writer.c
+++ b/lib/sqfs/block_writer.c
@@ -34,8 +34,7 @@ struct sqfs_block_writer_t {
blk_info_t *blocks;
size_t devblksz;
- sqfs_block_writer_stats_t stats;
-
+ sqfs_u64 blocks_written;
sqfs_u64 data_area_start;
sqfs_u64 start;
@@ -132,7 +131,6 @@ sqfs_block_writer_t *sqfs_block_writer_create(sqfs_file_t *file,
wr->file = file;
wr->devblksz = devblksz;
wr->max_blocks = INIT_BLOCK_COUNT;
- wr->stats.size = sizeof(wr->stats);
wr->data_area_start = wr->file->get_size(wr->file);
wr->blocks = alloc_array(sizeof(wr->blocks[0]), wr->max_blocks);
@@ -180,10 +178,7 @@ int sqfs_block_writer_write(sqfs_block_writer_t *wr, sqfs_u32 size,
if (err)
return err;
- wr->stats.bytes_submitted += size;
- wr->stats.blocks_submitted += 1;
- wr->stats.blocks_written = wr->num_blocks;
- wr->stats.bytes_written = offset + size - wr->data_area_start;
+ wr->blocks_written = wr->num_blocks;
}
if (flags & SQFS_BLK_LAST_BLOCK) {
@@ -218,15 +213,13 @@ int sqfs_block_writer_write(sqfs_block_writer_t *wr, sqfs_u32 size,
return err;
}
- wr->stats.blocks_written = wr->num_blocks;
- wr->stats.bytes_written = wr->start - wr->data_area_start;
+ wr->blocks_written = wr->num_blocks;
}
return 0;
}
-const sqfs_block_writer_stats_t
-*sqfs_block_writer_get_stats(const sqfs_block_writer_t *wr)
+sqfs_u64 sqfs_block_writer_get_block_count(const sqfs_block_writer_t *wr)
{
- return &wr->stats;
+ return wr->blocks_written;
}