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 --- include/sqfs/io.h | 44 -------------------------------------------- 1 file changed, 44 deletions(-) (limited to 'include/sqfs/io.h') diff --git a/include/sqfs/io.h b/include/sqfs/io.h index d7a923c..5c1bfd5 100644 --- a/include/sqfs/io.h +++ b/include/sqfs/io.h @@ -120,20 +120,6 @@ struct sqfs_file_t { int (*truncate)(sqfs_file_t *file, uint64_t size); }; -/** - * @struct sqfs_sparse_map_t - * - * @brief Describes the layout of a sparse file. - * - * This structure is part of a linked list that indicates where the actual - * data is located in a sparse file. - */ -struct sqfs_sparse_map_t { - sqfs_sparse_map_t *next; - uint64_t offset; - uint64_t count; -}; - #ifdef __cplusplus extern "C" { #endif @@ -175,36 +161,6 @@ SQFS_API int sqfs_file_create_block(sqfs_file_t *file, uint64_t offset, size_t size, sqfs_inode_generic_t *inode, uint32_t flags, sqfs_block_t **out); -/** - * @brief Read a chunk from a condensed version of a sparse file and turn it - * into a block that can be fed to a block processor. - * - * @member sqfs_file_t - * - * This function works on condensed sparse files, i.e. a sparse file that had - * its holdes removed. The given mapping describes the original data region - * that are actually packed next to each other. The function emulates the - * orignal sparse file by zero-initializing the block data, then figuring - * out which regions overlap the block, working out their physical location and - * stitching the block together. - * - * @param file A pointer to a file implementation. - * @param offset A byte offset into the file. - * @param size The number of bytes to read, starting at the given offset. - * @param inode The inode pointer to set for the block. - * @param flags The flags to store in the newly created block. - * @param map Describes the data regions of the original sparse file. - * @param out Returns a pointer to a block on success. - * - * @return Zero on success, an @ref E_SQFS_ERROR identifier on failure. - */ -SQFS_API int sqfs_file_create_block_dense(sqfs_file_t *file, uint64_t offset, - size_t size, - sqfs_inode_generic_t *inode, - uint32_t flags, - const sqfs_sparse_map_t *map, - sqfs_block_t **out); - #ifdef __cplusplus } #endif -- cgit v1.2.3