diff options
author | Theodore Ts'o <tytso@mit.edu> | 2001-07-02 11:54:09 -0400 |
---|---|---|
committer | Theodore Ts'o <tytso@mit.edu> | 2001-07-02 11:54:09 -0400 |
commit | 342d847db355d81299218e07a1e58ece82080a04 (patch) | |
tree | d9d1ebd757a7caf7066a3d5e119691a615b27d18 /e2fsck/e2fsck.h | |
parent | 636a954a308aec91cf644f566d3e8a794a5dd8cb (diff) | |
download | e2fsprogs-342d847db355d81299218e07a1e58ece82080a04.tar.gz |
Add initial support for extended attribute blocks
Diffstat (limited to 'e2fsck/e2fsck.h')
-rw-r--r-- | e2fsck/e2fsck.h | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/e2fsck/e2fsck.h b/e2fsck/e2fsck.h index da41cca9..26f63cfc 100644 --- a/e2fsck/e2fsck.h +++ b/e2fsck/e2fsck.h @@ -127,6 +127,11 @@ struct resource_track { #define E2F_PASS_1B 6 /* + * Define the extended attribute refcount structure + */ +typedef struct ea_refcount *ext2_refcount_t; + +/* * This is the global e2fsck structure. */ typedef struct e2fsck_struct *e2fsck_t; @@ -159,6 +164,7 @@ struct e2fsck_struct { ext2fs_block_bitmap block_found_map; /* Blocks which are in use */ ext2fs_block_bitmap block_dup_map; /* Blks referenced more than once */ + ext2fs_block_bitmap block_ea_map; /* Blocks which are used by EA's */ /* * Inode count arrays @@ -166,6 +172,9 @@ struct e2fsck_struct { ext2_icount_t inode_count; ext2_icount_t inode_link_info; + ext2_refcount_t refcount; + ext2_refcount_t refcount_extra; + /* * Array of flags indicating whether an inode bitmap, block * bitmap, or inode table is invalid @@ -231,6 +240,8 @@ struct e2fsck_struct { int fs_tind_count; int fs_fragmented; int large_files; + int fs_ext_attr_inodes; + int fs_ext_attr_blocks; /* * For the use of callers of the e2fsck functions; not used by @@ -271,6 +282,20 @@ extern int e2fsck_get_num_dirs(e2fsck_t ctx); extern int e2fsck_get_num_dirinfo(e2fsck_t ctx); extern struct dir_info *e2fsck_dir_info_iter(e2fsck_t ctx, int *control); +/* ea_refcount.c */ +extern errcode_t ea_refcount_create(int size, ext2_refcount_t *ret); +extern void ea_refcount_free(ext2_refcount_t refcount); +extern errcode_t ea_refcount_fetch(ext2_refcount_t refcount, blk_t blk, + int *ret); +extern errcode_t ea_refcount_increment(ext2_refcount_t refcount, + blk_t blk, int *ret); +extern errcode_t ea_refcount_decrement(ext2_refcount_t refcount, + blk_t blk, int *ret); +extern errcode_t ea_refcount_store(ext2_refcount_t refcount, + blk_t blk, int count); +extern void ea_refcount_intr_begin(ext2_refcount_t refcount); +extern blk_t ea_refcount_intr_next(ext2_refcount_t refcount, int *ret); + /* ehandler.c */ extern const char *ehandler_operation(const char *op); extern void ehandler_init(io_channel channel); |