aboutsummaryrefslogtreecommitdiffstats
path: root/include/linux/ext4_fs.h
diff options
context:
space:
mode:
Diffstat (limited to 'include/linux/ext4_fs.h')
-rw-r--r--include/linux/ext4_fs.h16
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 */
106struct ext4_group_desc 106struct 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)