diff options
author | David Oberhollenzer <david.oberhollenzer@sigma-star.at> | 2019-09-26 14:33:55 +0200 |
---|---|---|
committer | David Oberhollenzer <david.oberhollenzer@sigma-star.at> | 2019-09-26 15:32:38 +0200 |
commit | 248765bd9f6ead4fbe4e5822bcaf46b85fe1687f (patch) | |
tree | 1e487925a3bb4011ea1c355bce77413657e79b06 /include/data_writer.h | |
parent | 2341da0e0654aa8e89e5f3630f8142346788e061 (diff) |
Remove remnants of the old data writer
- Move the statstics hooks to the rest of the statistics code
- Used the new data writer directly in gensquashfs & tar2sqfs
- Demote what is left to a helper function for processing an
input file and submitting it to the new data writer
Signed-off-by: David Oberhollenzer <david.oberhollenzer@sigma-star.at>
Diffstat (limited to 'include/data_writer.h')
-rw-r--r-- | include/data_writer.h | 93 |
1 files changed, 0 insertions, 93 deletions
diff --git a/include/data_writer.h b/include/data_writer.h deleted file mode 100644 index cdf7a44..0000000 --- a/include/data_writer.h +++ /dev/null @@ -1,93 +0,0 @@ -/* SPDX-License-Identifier: GPL-3.0-or-later */ -/* - * data_writer.h - * - * Copyright (C) 2019 David Oberhollenzer <goliath@infraroot.at> - */ -#ifndef DATA_WRITER_H -#define DATA_WRITER_H - -#include "config.h" - -#include "sqfs/compress.h" -#include "sqfs/data.h" -#include "fstree.h" -#include "util.h" - -typedef struct data_writer_t data_writer_t; - -typedef struct { - size_t file_count; - size_t blocks_written; - size_t frag_blocks_written; - size_t duplicate_blocks; - size_t sparse_blocks; - size_t frag_count; - size_t frag_dup; - uint64_t bytes_written; - uint64_t bytes_read; -} data_writer_stats_t; - -enum { - /* Don't generate fragments, always write the last block to disk as a - block, even if it is incomplete. */ - DW_DONT_FRAGMENT = 0x01, - - /* Intentionally write all blocks uncompressed. */ - DW_DONT_COMPRESS = 0x02, - - /* Make sure the first block of a file is alligned to - device block size */ - DW_ALLIGN_DEVBLK = 0x04, -}; - -/* - Create a data writer. The pointer to the super block is kept internally and - used to automatically update various counters when writing data. - - Returns NULL on failure and prints errors to stderr. - */ -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); - -void data_writer_destroy(data_writer_t *data); - -/* - Write the finalfragment table to the underlying file. - - Returns 0 on success, prints errors to stderr. -*/ -int data_writer_write_fragment_table(data_writer_t *data); - -/* - Wait for everything to be written to disk. This also forces a currently - pending fragment block to be compressed and wrtten. - - Returns 0 on success, prints errors to stderr. -*/ -int data_writer_sync(data_writer_t *data); - -/* - Read data from the given file descriptor, partition it into blocks and - write them out (possibly compressed) to the underlying file. If the size - is not a multiple of the block size, the last bit is kept in an internal - fragment buffer which is written out if full. - - The file_info_t object is updated accordingly and used to determine the - number of bytes to write and the input file name to report errors. - - Blocks or fragments that are all zero bytes automatically detected, - not written out and the sparse file accounting updated accordingly. - - The flags argument is a combination of DW_* flags. After completion the - data writer collects the 'fi' in an internal list it uses for deduplication. - - Returns 0 on success, prints errors to stderr. -*/ -int write_data_from_file(data_writer_t *data, sqfs_inode_generic_t *inode, - sqfs_file_t *file, int flags); - -data_writer_stats_t *data_writer_get_stats(data_writer_t *data); - -#endif /* DATA_WRITER_H */ |