diff options
Diffstat (limited to 'include/linux/ext4_fs.h')
-rw-r--r-- | include/linux/ext4_fs.h | 16 |
1 files changed, 12 insertions, 4 deletions
diff --git a/include/linux/ext4_fs.h b/include/linux/ext4_fs.h index 151738af6be2..b77b59fe7f56 100644 --- a/include/linux/ext4_fs.h +++ b/include/linux/ext4_fs.h | |||
@@ -105,19 +105,25 @@ | |||
105 | */ | 105 | */ |
106 | struct ext4_group_desc | 106 | struct ext4_group_desc |
107 | { | 107 | { |
108 | __le32 bg_block_bitmap; /* Blocks bitmap block */ | 108 | __le32 bg_block_bitmap; /* Blocks bitmap block */ |
109 | __le32 bg_inode_bitmap; /* Inodes bitmap block */ | 109 | __le32 bg_inode_bitmap; /* Inodes bitmap block */ |
110 | __le32 bg_inode_table; /* Inodes table block */ | 110 | __le32 bg_inode_table; /* Inodes table block */ |
111 | __le16 bg_free_blocks_count; /* Free blocks count */ | 111 | __le16 bg_free_blocks_count; /* Free blocks count */ |
112 | __le16 bg_free_inodes_count; /* Free inodes count */ | 112 | __le16 bg_free_inodes_count; /* Free inodes count */ |
113 | __le16 bg_used_dirs_count; /* Directories count */ | 113 | __le16 bg_used_dirs_count; /* Directories count */ |
114 | __u16 bg_flags; | 114 | __le16 bg_flags; /* EXT4_BG_flags (INODE_UNINIT, etc) */ |
115 | __u32 bg_reserved[3]; | 115 | __u32 bg_reserved[2]; /* Likely block/inode bitmap checksum */ |
116 | __le16 bg_itable_unused; /* Unused inodes count */ | ||
117 | __le16 bg_checksum; /* crc16(sb_uuid+group+desc) */ | ||
116 | __le32 bg_block_bitmap_hi; /* Blocks bitmap block MSB */ | 118 | __le32 bg_block_bitmap_hi; /* Blocks bitmap block MSB */ |
117 | __le32 bg_inode_bitmap_hi; /* Inodes bitmap block MSB */ | 119 | __le32 bg_inode_bitmap_hi; /* Inodes bitmap block MSB */ |
118 | __le32 bg_inode_table_hi; /* Inodes table block MSB */ | 120 | __le32 bg_inode_table_hi; /* Inodes table block MSB */ |
119 | }; | 121 | }; |
120 | 122 | ||
123 | #define EXT4_BG_INODE_UNINIT 0x0001 /* Inode table/bitmap not in use */ | ||
124 | #define EXT4_BG_BLOCK_UNINIT 0x0002 /* Block bitmap not in use */ | ||
125 | #define EXT4_BG_INODE_ZEROED 0x0004 /* On-disk itable initialized to zero */ | ||
126 | |||
121 | #ifdef __KERNEL__ | 127 | #ifdef __KERNEL__ |
122 | #include <linux/ext4_fs_i.h> | 128 | #include <linux/ext4_fs_i.h> |
123 | #include <linux/ext4_fs_sb.h> | 129 | #include <linux/ext4_fs_sb.h> |
@@ -665,6 +671,7 @@ static inline int ext4_valid_inum(struct super_block *sb, unsigned long ino) | |||
665 | #define EXT4_FEATURE_RO_COMPAT_SPARSE_SUPER 0x0001 | 671 | #define EXT4_FEATURE_RO_COMPAT_SPARSE_SUPER 0x0001 |
666 | #define EXT4_FEATURE_RO_COMPAT_LARGE_FILE 0x0002 | 672 | #define EXT4_FEATURE_RO_COMPAT_LARGE_FILE 0x0002 |
667 | #define EXT4_FEATURE_RO_COMPAT_BTREE_DIR 0x0004 | 673 | #define EXT4_FEATURE_RO_COMPAT_BTREE_DIR 0x0004 |
674 | #define EXT4_FEATURE_RO_COMPAT_GDT_CSUM 0x0010 | ||
668 | #define EXT4_FEATURE_RO_COMPAT_DIR_NLINK 0x0020 | 675 | #define EXT4_FEATURE_RO_COMPAT_DIR_NLINK 0x0020 |
669 | #define EXT4_FEATURE_RO_COMPAT_EXTRA_ISIZE 0x0040 | 676 | #define EXT4_FEATURE_RO_COMPAT_EXTRA_ISIZE 0x0040 |
670 | 677 | ||
@@ -684,6 +691,7 @@ static inline int ext4_valid_inum(struct super_block *sb, unsigned long ino) | |||
684 | EXT4_FEATURE_INCOMPAT_64BIT) | 691 | EXT4_FEATURE_INCOMPAT_64BIT) |
685 | #define EXT4_FEATURE_RO_COMPAT_SUPP (EXT4_FEATURE_RO_COMPAT_SPARSE_SUPER| \ | 692 | #define EXT4_FEATURE_RO_COMPAT_SUPP (EXT4_FEATURE_RO_COMPAT_SPARSE_SUPER| \ |
686 | EXT4_FEATURE_RO_COMPAT_LARGE_FILE| \ | 693 | EXT4_FEATURE_RO_COMPAT_LARGE_FILE| \ |
694 | EXT4_FEATURE_RO_COMPAT_GDT_CSUM| \ | ||
687 | EXT4_FEATURE_RO_COMPAT_DIR_NLINK | \ | 695 | EXT4_FEATURE_RO_COMPAT_DIR_NLINK | \ |
688 | EXT4_FEATURE_RO_COMPAT_EXTRA_ISIZE | \ | 696 | EXT4_FEATURE_RO_COMPAT_EXTRA_ISIZE | \ |
689 | EXT4_FEATURE_RO_COMPAT_BTREE_DIR) | 697 | EXT4_FEATURE_RO_COMPAT_BTREE_DIR) |