From 3511b1fa7c6f71c579e161951e945904e552e1d9 Mon Sep 17 00:00:00 2001 From: David Oberhollenzer Date: Wed, 25 Sep 2019 17:47:19 +0200 Subject: Remove condensed sparse file handling from libsquashfs This only exists for tar2sqfs. Move the sparse file map to libtar and add the ability to do this into the stind sqfs_file_t abstraction, so it acts like a normal file but internally stitches the data together from the sparse implementation. Signed-off-by: David Oberhollenzer --- lib/sqfshelper/data_writer.c | 21 ++++----------------- 1 file changed, 4 insertions(+), 17 deletions(-) (limited to 'lib/sqfshelper/data_writer.c') diff --git a/lib/sqfshelper/data_writer.c b/lib/sqfshelper/data_writer.c index 96cd9ee..a365e6d 100644 --- a/lib/sqfshelper/data_writer.c +++ b/lib/sqfshelper/data_writer.c @@ -98,9 +98,8 @@ static int add_sentinel_block(data_writer_t *data, sqfs_inode_generic_t *inode, return sqfs_data_writer_enqueue(data->proc, blk); } -int write_data_from_file_condensed(data_writer_t *data, sqfs_file_t *file, - sqfs_inode_generic_t *inode, - const sqfs_sparse_map_t *map, int flags) +int write_data_from_file(data_writer_t *data, sqfs_inode_generic_t *inode, + sqfs_file_t *file, int flags) { uint32_t blk_flags = SQFS_BLK_FIRST_BLOCK; uint64_t filesz, offset; @@ -123,14 +122,8 @@ int write_data_from_file_condensed(data_writer_t *data, sqfs_file_t *file, diff = filesz - offset; } - if (map == NULL) { - ret = sqfs_file_create_block(file, offset, diff, inode, - blk_flags, &blk); - } else { - ret = sqfs_file_create_block_dense(file, offset, diff, - inode, blk_flags, - map, &blk); - } + ret = sqfs_file_create_block(file, offset, diff, inode, + blk_flags, &blk); if (ret) return -1; @@ -189,12 +182,6 @@ int write_data_from_file_condensed(data_writer_t *data, sqfs_file_t *file, return 0; } -int write_data_from_file(data_writer_t *data, sqfs_inode_generic_t *inode, - sqfs_file_t *file, int flags) -{ - return write_data_from_file_condensed(data, file, inode, NULL, flags); -} - data_writer_t *data_writer_create(sqfs_super_t *super, sqfs_compressor_t *cmp, sqfs_file_t *file, size_t devblksize, unsigned int num_jobs, size_t max_backlog) -- cgit v1.2.3