diff options
author | Theodore Ts'o <tytso@mit.edu> | 2006-05-08 20:17:26 -0400 |
---|---|---|
committer | Theodore Ts'o <tytso@mit.edu> | 2006-05-08 20:17:26 -0400 |
commit | f5fa20078bfc05b554294fe9c5505375d7913e8c (patch) | |
tree | f51fd572f2a76eaab495e7559ba40dee09067dd2 /lib/ext2fs/ext2_fs.h | |
parent | 49c6b4e9472f53c252126f1c9a5a6e9629967d1f (diff) | |
download | e2fsprogs-f5fa20078bfc05b554294fe9c5505375d7913e8c.tar.gz |
Add support for EXT2_FEATURE_COMPAT_LAZY_BG
This feature is initially intended for testing purposes; it allows an
ext2/ext3 developer to create very large filesystems using sparse files
where most of the block groups are not initialized and so do not require
much disk space. Eventually it could be used as a way of speeding up
mke2fs and e2fsck for large filesystem, but that would be best done by
adding an RO_COMPAT extension to the filesystem to allow the inode table
to be lazily initialized on a per-block basis, instead of being entirely initialized
or entirely unused on a per-blockgroup basis.
Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
Diffstat (limited to 'lib/ext2fs/ext2_fs.h')
-rw-r--r-- | lib/ext2fs/ext2_fs.h | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/lib/ext2fs/ext2_fs.h b/lib/ext2fs/ext2_fs.h index e427addf..1cfbc358 100644 --- a/lib/ext2fs/ext2_fs.h +++ b/lib/ext2fs/ext2_fs.h @@ -143,10 +143,13 @@ struct ext2_group_desc __u16 bg_free_blocks_count; /* Free blocks count */ __u16 bg_free_inodes_count; /* Free inodes count */ __u16 bg_used_dirs_count; /* Directories count */ - __u16 bg_pad; + __u16 bg_flags; __u32 bg_reserved[3]; }; +#define EXT2_BG_INODE_UNINIT 0x0001 /* Inode table/bitmap not initialized */ +#define EXT2_BG_BLOCK_UNINIT 0x0002 /* Block bitmap not initialized */ + /* * Data structures used by the directory indexing feature * @@ -568,6 +571,7 @@ struct ext2_super_block { #define EXT2_FEATURE_COMPAT_EXT_ATTR 0x0008 #define EXT2_FEATURE_COMPAT_RESIZE_INODE 0x0010 #define EXT2_FEATURE_COMPAT_DIR_INDEX 0x0020 +#define EXT2_FEATURE_COMPAT_LAZY_BG 0x0040 #define EXT2_FEATURE_RO_COMPAT_SPARSE_SUPER 0x0001 #define EXT2_FEATURE_RO_COMPAT_LARGE_FILE 0x0002 |