From f439b20706ade4b5630c3d6c57e6a36ce0dc287a Mon Sep 17 00:00:00 2001 From: David Oberhollenzer Date: Sun, 30 Jun 2019 16:41:21 +0200 Subject: Add support for repacking condensed sparse files This commit broadly does the following things: - Rename and move the sparse mapping structure to libutil - Add a function to the data writer for writing condensed versions of sparse files, given the mapping. - This shares code with the already existing function for regular files. The shared code is moved to a common helper function. - Add support to tar2sqfs for repacking sparse files. Signed-off-by: David Oberhollenzer --- include/tar.h | 10 +++------- 1 file changed, 3 insertions(+), 7 deletions(-) (limited to 'include/tar.h') diff --git a/include/tar.h b/include/tar.h index 2819740..1f8ca7e 100644 --- a/include/tar.h +++ b/include/tar.h @@ -6,6 +6,8 @@ #include #include +#include "util.h" + typedef enum { ETV_UNKNOWN = 0, ETV_V7_UNIX, @@ -61,17 +63,11 @@ typedef struct { char padding[7]; } gnu_sparse_t; -typedef struct tar_sparse_data_t { - struct tar_sparse_data_t *next; - uint64_t offset; - uint64_t count; -} tar_sparse_data_t; - typedef struct { struct stat sb; char *name; char *link_target; - tar_sparse_data_t *sparse; + sparse_map_t *sparse; uint64_t sparse_size; bool unknown_record; } tar_header_decoded_t; -- cgit v1.2.3