diff options
| author | David Oberhollenzer <david.oberhollenzer@sigma-star.at> | 2019-09-28 23:08:39 +0200 | 
|---|---|---|
| committer | David Oberhollenzer <david.oberhollenzer@sigma-star.at> | 2019-09-28 23:34:17 +0200 | 
| commit | d758950ac88c2c6759d1616ac8be2c70c9dcf761 (patch) | |
| tree | e96860712abea784525a2b7feb3a690b443e1372 /include | |
| parent | 9bcb6edfe419d390acddc2ed7d0c04d37b753ac3 (diff) | |
Replace fstree/sqfshelper xattr code with sqfs_xattr_writer_t
Signed-off-by: David Oberhollenzer <david.oberhollenzer@sigma-star.at>
Diffstat (limited to 'include')
| -rw-r--r-- | include/fstree.h | 69 | 
1 files changed, 3 insertions, 66 deletions
| diff --git a/include/fstree.h b/include/fstree.h index a60b214..b355f06 100644 --- a/include/fstree.h +++ b/include/fstree.h @@ -14,50 +14,13 @@  #include <stddef.h>  #include <stdio.h> -#include "str_table.h" +#include "sqfs/predef.h"  #include "compat.h" -#define FSTREE_XATTR_KEY_BUCKETS 31 -#define FSTREE_XATTR_VALUE_BUCKETS 511 -  typedef struct tree_node_t tree_node_t;  typedef struct file_info_t file_info_t;  typedef struct dir_info_t dir_info_t;  typedef struct fstree_t fstree_t; -typedef struct tree_xattr_t tree_xattr_t; - -/* Encapsulates a set of key-value pairs attached to a tree_node_t */ -struct tree_xattr_t { -	/* Number of key-value pairs */ -	size_t num_attr; - -	/* Total size of the array, i.e. it's capacity */ -	size_t max_attr; - -	/* Offset of the meta data block where the pairs are stored */ -	sqfs_u64 block; - -	/* Offset into a meta data block where the pairs start */ -	sqfs_u32 offset; - -	/* Number of bytes written to disk */ -	sqfs_u32 size; - -	/* Incremental index within all xattr blocks */ -	size_t index; - -	/* Back reference to the tree node this was created for */ -	tree_node_t *owner; - -	/* linked list pointer of list of attributes in @ref fstree_t */ -	tree_xattr_t *next; - -	/* Array with pairs of key-value tupples */ -	struct { -		sqfs_u32 key_index; -		sqfs_u32 value_index; -	} attr[]; -};  /* Additional meta data stored in a tree_node_t for regular files. */  struct file_info_t { @@ -90,21 +53,13 @@ struct tree_node_t {  	/* For the root node, this points to an empty string. */  	char *name; -	/* -	  A pointer to an extended attribute array or NULL if unused. - -	  This field is not stored in-line and taken care of by the generic -	  fstree cleanup code, since it is generatde after the tree already -	  exists and shared across multiple nodes. -	*/ -	tree_xattr_t *xattr; - +	sqfs_u32 xattr_idx;  	sqfs_u32 uid;  	sqfs_u32 gid;  	sqfs_u32 inode_num;  	sqfs_u32 mod_time;  	sqfs_u16 mode; -	sqfs_u16 pad0[3]; +	sqfs_u16 pad0;  	/* SquashFS inode refernce number. 32 bit offset of the meta data  	   block start (relative to inode table start), shifted left by 16 @@ -130,11 +85,7 @@ struct fstree_t {  	size_t block_size;  	size_t inode_tbl_size; -	str_table_t xattr_keys; -	str_table_t xattr_values; -  	tree_node_t *root; -	tree_xattr_t *xattr;  	/* linear array of tree nodes. inode number is array index */  	tree_node_t **inode_table; @@ -194,20 +145,6 @@ tree_node_t *fstree_add_generic(fstree_t *fs, const char *path,  				const struct stat *sb, const char *extra);  /* -  Add an extended attribute key value pair to a tree node. - -  Returns 0 on success, prints error to stderr on failure. -*/ -int fstree_add_xattr(fstree_t *fs, tree_node_t *node, -		     const char *key, const char *value); - -/* Recompute running index number of all xattr blocks. */ -void fstree_xattr_reindex(fstree_t *fs); - -/* Sort and dedupliciate xattr blocks, then recumpute the index numbers. */ -void fstree_xattr_deduplicate(fstree_t *fs); - -/*    Parses the file format accepted by gensquashfs and produce a file system    tree from it. File input paths are interpreted as relative to the current    working directory. | 
