143
143
__u16 bg_free_blocks_count; /* Free blocks count */
144
144
__u16 bg_free_inodes_count; /* Free inodes count */
145
145
__u16 bg_used_dirs_count; /* Directories count */
147
147
__u32 bg_reserved[3];
150
#define EXT2_BG_INODE_UNINIT 0x0001 /* Inode table/bitmap not initialized */
151
#define EXT2_BG_BLOCK_UNINIT 0x0002 /* Block bitmap not initialized */
151
154
* Data structures used by the directory indexing feature
249
/* Used for online resize */
250
struct ext2_new_group_input {
251
__u32 group; /* Group number for this data */
252
__u32 block_bitmap; /* Absolute block number of block bitmap */
253
__u32 inode_bitmap; /* Absolute block number of inode bitmap */
254
__u32 inode_table; /* Absolute block number of inode table start */
255
__u32 blocks_count; /* Total number of blocks in this group */
256
__u16 reserved_blocks; /* Number of reserved blocks in this group */
257
__u16 unused; /* Number of reserved GDT blocks in group */
245
260
#define EXT2_IOC_GETFLAGS _IOR('f', 1, long)
246
261
#define EXT2_IOC_SETFLAGS _IOW('f', 2, long)
247
262
#define EXT2_IOC_GETVERSION _IOR('v', 1, long)
248
263
#define EXT2_IOC_SETVERSION _IOW('v', 2, long)
264
#define EXT2_IOC_GETVERSION_NEW _IOR('f', 3, long)
265
#define EXT2_IOC_SETVERSION_NEW _IOW('f', 4, long)
266
#define EXT2_IOC_GROUP_EXTEND _IOW('f', 7, unsigned long)
267
#define EXT2_IOC_GROUP_ADD _IOW('f', 8,struct ext2_new_group_input)
251
270
* Structure of an inode on the disk
552
571
#define EXT2_FEATURE_COMPAT_EXT_ATTR 0x0008
553
572
#define EXT2_FEATURE_COMPAT_RESIZE_INODE 0x0010
554
573
#define EXT2_FEATURE_COMPAT_DIR_INDEX 0x0020
574
#define EXT2_FEATURE_COMPAT_LAZY_BG 0x0040
556
576
#define EXT2_FEATURE_RO_COMPAT_SPARSE_SUPER 0x0001
557
577
#define EXT2_FEATURE_RO_COMPAT_LARGE_FILE 0x0002