cat > $CONF << ENDL
[fs_types]
ext4h = {
- features = has_journal,extent,huge_file,flex_bg,uninit_bg,dir_nlink,extra_isize,sparse_super,filetype,dir_index,ext_attr,resize_inode,64bit,metadata_csum
+ features = has_journal,extent,huge_file,flex_bg,uninit_bg,dir_nlink,extra_isize,sparse_super,filetype,^dir_index,ext_attr,resize_inode,64bit,metadata_csum
blocksize = 1024
inode_size = 256
make_hugefiles = true
MKE2FS_CONFIG=$CONF $MKE2FS -F -T ext4h -o Linux $TMPFILE 524288 >> $OUT 2>&1
rm -f $CONF
+tune2fs -O dir_index $TMPFILE >> $OUT 2>&1
# dump and check
$DUMPE2FS $TMPFILE 2> /dev/null | grep '^Group 0:' -B99 -A20 | sed -f $cmd_dir/filter.sed > $OUT.before
Last mounted on: <not available>
Filesystem magic number: 0xEF53
Filesystem revision #: 1 (dynamic)
--Filesystem features: has_journal ext_attr resize_inode dir_index filetype extent flex_bg sparse_super large_file huge_file uninit_bg dir_nlink extra_isize
-+Filesystem features: has_journal ext_attr resize_inode dir_index filetype extent 64bit flex_bg sparse_super large_file huge_file uninit_bg dir_nlink extra_isize
+-Filesystem features: has_journal ext_attr resize_inode filetype extent flex_bg sparse_super large_file huge_file uninit_bg dir_nlink extra_isize
++Filesystem features: has_journal ext_attr resize_inode filetype extent 64bit flex_bg sparse_super large_file huge_file uninit_bg dir_nlink extra_isize
Default mount options: user_xattr acl
Filesystem state: clean
Errors behavior: Continue
cat > $CONF << ENDL
[fs_types]
ext4h = {
- features = has_journal,extent,huge_file,flex_bg,uninit_bg,dir_nlink,extra_isize,sparse_super,filetype,dir_index,ext_attr,resize_inode
+ features = has_journal,extent,huge_file,flex_bg,uninit_bg,dir_nlink,extra_isize,sparse_super,filetype,^dir_index,ext_attr,resize_inode
blocksize = 1024
inode_size = 256
make_hugefiles = true
Last mounted on: <not available>
Filesystem magic number: 0xEF53
Filesystem revision #: 1 (dynamic)
--Filesystem features: has_journal ext_attr dir_index filetype meta_bg extent flex_bg sparse_super large_file huge_file uninit_bg dir_nlink extra_isize
-+Filesystem features: has_journal ext_attr dir_index filetype meta_bg extent 64bit flex_bg sparse_super large_file huge_file uninit_bg dir_nlink extra_isize
+-Filesystem features: has_journal ext_attr filetype meta_bg extent flex_bg sparse_super large_file huge_file uninit_bg dir_nlink extra_isize
++Filesystem features: has_journal ext_attr filetype meta_bg extent 64bit flex_bg sparse_super large_file huge_file uninit_bg dir_nlink extra_isize
Default mount options: user_xattr acl
Filesystem state: clean
Errors behavior: Continue
cat > $CONF << ENDL
[fs_types]
ext4h = {
- features = has_journal,extent,huge_file,flex_bg,uninit_bg,dir_nlink,extra_isize,sparse_super,filetype,dir_index,ext_attr,meta_bg,^resize_inode
+ features = has_journal,extent,huge_file,flex_bg,uninit_bg,dir_nlink,extra_isize,sparse_super,filetype,^dir_index,ext_attr,meta_bg,^resize_inode
blocksize = 1024
inode_size = 256
make_hugefiles = true
Last mounted on: <not available>
Filesystem magic number: 0xEF53
Filesystem revision #: 1 (dynamic)
--Filesystem features: has_journal ext_attr dir_index filetype extent sparse_super large_file huge_file uninit_bg dir_nlink extra_isize
-+Filesystem features: has_journal ext_attr dir_index filetype extent 64bit sparse_super large_file huge_file uninit_bg dir_nlink extra_isize
+-Filesystem features: has_journal ext_attr filetype extent sparse_super large_file huge_file uninit_bg dir_nlink extra_isize
++Filesystem features: has_journal ext_attr filetype extent 64bit sparse_super large_file huge_file uninit_bg dir_nlink extra_isize
Default mount options: user_xattr acl
Filesystem state: clean
Errors behavior: Continue
cat > $CONF << ENDL
[fs_types]
ext4h = {
- features = has_journal,extent,huge_file,uninit_bg,dir_nlink,extra_isize,sparse_super,filetype,dir_index,ext_attr,^resize_inode,^meta_bg,^flex_bg
+ features = has_journal,extent,huge_file,uninit_bg,dir_nlink,extra_isize,sparse_super,filetype,^dir_index,ext_attr,^resize_inode,^meta_bg,^flex_bg
blocksize = 1024
inode_size = 256
make_hugefiles = true
Last mounted on: <not available>
Filesystem magic number: 0xEF53
Filesystem revision #: 1 (dynamic)
--Filesystem features: has_journal ext_attr resize_inode dir_index filetype extent 64bit flex_bg sparse_super large_file huge_file uninit_bg dir_nlink extra_isize
-+Filesystem features: has_journal ext_attr resize_inode dir_index filetype extent flex_bg sparse_super large_file huge_file uninit_bg dir_nlink extra_isize
+-Filesystem features: has_journal ext_attr resize_inode filetype extent 64bit flex_bg sparse_super large_file huge_file uninit_bg dir_nlink extra_isize
++Filesystem features: has_journal ext_attr resize_inode filetype extent flex_bg sparse_super large_file huge_file uninit_bg dir_nlink extra_isize
Default mount options: user_xattr acl
Filesystem state: clean
Errors behavior: Continue
cat > $CONF << ENDL
[fs_types]
ext4h = {
- features = has_journal,extent,huge_file,flex_bg,uninit_bg,dir_nlink,extra_isize,sparse_super,filetype,dir_index,ext_attr,resize_inode,64bit
+ features = has_journal,extent,huge_file,flex_bg,uninit_bg,dir_nlink,extra_isize,sparse_super,filetype,^dir_index,ext_attr,resize_inode,64bit
blocksize = 1024
inode_size = 256
make_hugefiles = true
Last mounted on: <not available>
Filesystem magic number: 0xEF53
Filesystem revision #: 1 (dynamic)
--Filesystem features: has_journal ext_attr dir_index filetype meta_bg extent 64bit flex_bg sparse_super large_file huge_file uninit_bg dir_nlink extra_isize
-+Filesystem features: has_journal ext_attr dir_index filetype meta_bg extent flex_bg sparse_super large_file huge_file uninit_bg dir_nlink extra_isize
+-Filesystem features: has_journal ext_attr filetype meta_bg extent 64bit flex_bg sparse_super large_file huge_file uninit_bg dir_nlink extra_isize
++Filesystem features: has_journal ext_attr filetype meta_bg extent flex_bg sparse_super large_file huge_file uninit_bg dir_nlink extra_isize
Default mount options: user_xattr acl
Filesystem state: clean
Errors behavior: Continue
cat > $CONF << ENDL
[fs_types]
ext4h = {
- features = has_journal,extent,huge_file,flex_bg,uninit_bg,dir_nlink,extra_isize,sparse_super,filetype,dir_index,ext_attr,meta_bg,^resize_inode,64bit
+ features = has_journal,extent,huge_file,flex_bg,uninit_bg,dir_nlink,extra_isize,sparse_super,filetype,^dir_index,ext_attr,meta_bg,^resize_inode,64bit
blocksize = 1024
inode_size = 256
make_hugefiles = true
Change in FS metadata:
@@ -1,3 +1,3 @@
-Filesystem UUID: 6fc3daa4-180d-4f2b-a6f2-f7a5efb79bcf
--Filesystem features: has_journal ext_attr resize_inode dir_index filetype extent 64bit sparse_super large_file huge_file uninit_bg dir_nlink extra_isize
+-Filesystem features: has_journal ext_attr resize_inode filetype extent 64bit sparse_super large_file huge_file uninit_bg dir_nlink extra_isize
-Inode size: 256
+Filesystem UUID: f0f0f0f0-f0f0-f0f0-f0f0-f0f0f0f0f0f0
-+Filesystem features: has_journal ext_attr resize_inode dir_index filetype extent 64bit sparse_super large_file huge_file dir_nlink extra_isize metadata_csum
++Filesystem features: has_journal ext_attr resize_inode filetype extent 64bit sparse_super large_file huge_file dir_nlink extra_isize metadata_csum
+Inode size: 512
Pass 1: Checking inodes, blocks, and sizes
Pass 2: Checking directory structure
cat > $CONF << ENDL
[fs_types]
ext4h = {
- features = has_journal,extent,huge_file,^flex_bg,uninit_bg,dir_nlink,extra_isize,sparse_super,filetype,dir_index,ext_attr,resize_inode,64bit
+ features = has_journal,extent,huge_file,^flex_bg,uninit_bg,dir_nlink,extra_isize,sparse_super,filetype,^dir_index,ext_attr,resize_inode,64bit
blocksize = 1024
inode_size = 256
make_hugefiles = true
zero_hugefiles = false
}
ext4m = {
- features = has_journal,extent,huge_file,^flex_bg,uninit_bg,dir_nlink,extra_isize,sparse_super,filetype,dir_index,ext_attr,resize_inode,64bit,metadata_csum
+ features = has_journal,extent,huge_file,^flex_bg,uninit_bg,dir_nlink,extra_isize,sparse_super,filetype,^dir_index,ext_attr,resize_inode,64bit,metadata_csum
blocksize = 1024
inode_size = 256
make_hugefiles = true
# trigger a filesystem check
$DEBUGFS -w -R 'ssv mtime now' $TMPFILE > /dev/null 2>&1
$DEBUGFS -w -R 'ssv lastcheck 20000' $TMPFILE > /dev/null 2>&1
+$DEBUGFS -w -R 'features dir_index' $TMPFILE > /dev/null 2>&1
+cp $TMPFILE /tmp/script.img
# add mcsum
echo "tune2fs -O metadata_csum test.img" >> $OUT
$TUNE2FS -O metadata_csum $TMPFILE >> $OUT 2>&1
Last mounted on: <not available>
Filesystem magic number: 0xEF53
Filesystem revision #: 1 (dynamic)
--Filesystem features: has_journal ext_attr resize_inode dir_index filetype extent 64bit flex_bg sparse_super large_file huge_file dir_nlink extra_isize metadata_csum
-+Filesystem features: has_journal ext_attr resize_inode dir_index filetype extent 64bit flex_bg sparse_super large_file huge_file dir_nlink extra_isize
+-Filesystem features: has_journal ext_attr resize_inode filetype extent 64bit flex_bg sparse_super large_file huge_file dir_nlink extra_isize metadata_csum
++Filesystem features: has_journal ext_attr resize_inode filetype extent 64bit flex_bg sparse_super large_file huge_file dir_nlink extra_isize
Default mount options: user_xattr acl
Filesystem state: clean
Errors behavior: Continue
cat > $CONF << ENDL
[fs_types]
ext4h = {
- features = has_journal,extent,huge_file,flex_bg,uninit_bg,dir_nlink,extra_isize,sparse_super,filetype,dir_index,ext_attr,resize_inode,64bit,metadata_csum
+ features = has_journal,extent,huge_file,flex_bg,uninit_bg,dir_nlink,extra_isize,sparse_super,filetype,^dir_index,ext_attr,resize_inode,64bit,metadata_csum
blocksize = 1024
inode_size = 256
make_hugefiles = true
Last mounted on: <not available>
Filesystem magic number: 0xEF53
Filesystem revision #: 1 (dynamic)
--Filesystem features: has_journal ext_attr resize_inode dir_index filetype extent 64bit flex_bg sparse_super large_file huge_file uninit_bg dir_nlink extra_isize
-+Filesystem features: has_journal ext_attr resize_inode dir_index filetype extent 64bit flex_bg sparse_super large_file huge_file dir_nlink extra_isize metadata_csum
+-Filesystem features: has_journal ext_attr resize_inode filetype extent 64bit flex_bg sparse_super large_file huge_file uninit_bg dir_nlink extra_isize
++Filesystem features: has_journal ext_attr resize_inode filetype extent 64bit flex_bg sparse_super large_file huge_file dir_nlink extra_isize metadata_csum
Default mount options: user_xattr acl
Filesystem state: clean
Errors behavior: Continue
-@@ -11,7 +11,7 @@
- Block count: 524288
- Reserved block count: 26214
- Overhead clusters: 35246
--Free blocks: 571
-+Free blocks: 568
- Free inodes: 65048
- First block: 1
- Block size: 1024
@@ -34,6 +34,7 @@
Journal inode: 8
Default directory hash: half_md4
Journal features: (none)
Total journal size: 16M
Total journal blocks: 16384
-@@ -49,8 +50,8 @@
- Block bitmap at 262 (+261)
- Inode bitmap at 278 (+277)
- Inode table at 294-549 (+293)
-- 21 free blocks, 536 free inodes, 2 directories, 536 unused inodes
-- Free blocks: 4413-4433
-+ 18 free blocks, 536 free inodes, 2 directories, 536 unused inodes
-+ Free blocks: 4413, 4417-4433
- Free inodes: 489-1024
- Group 1: (Blocks 8193-16384) [INODE_UNINIT]
- Backup superblock at 8193, Group descriptors at 8194-8197
Pass 1: Checking inodes, blocks, and sizes
Pass 2: Checking directory structure
Pass 3: Checking directory connectivity
cat > $CONF << ENDL
[fs_types]
ext4h = {
- features = has_journal,extent,huge_file,flex_bg,uninit_bg,dir_nlink,extra_isize,sparse_super,filetype,dir_index,ext_attr,resize_inode,64bit
+ features = has_journal,extent,huge_file,flex_bg,uninit_bg,dir_nlink,extra_isize,sparse_super,filetype,^dir_index,ext_attr,resize_inode,64bit
blocksize = 1024
inode_size = 256
make_hugefiles = true
Last mounted on: <not available>
Filesystem magic number: 0xEF53
Filesystem revision #: 1 (dynamic)
--Filesystem features: has_journal ext_attr resize_inode dir_index filetype extent 64bit flex_bg sparse_super large_file huge_file dir_nlink extra_isize
-+Filesystem features: has_journal ext_attr resize_inode dir_index filetype extent 64bit flex_bg sparse_super large_file huge_file dir_nlink extra_isize metadata_csum
+-Filesystem features: has_journal ext_attr resize_inode filetype extent 64bit flex_bg sparse_super large_file huge_file dir_nlink extra_isize
++Filesystem features: has_journal ext_attr resize_inode filetype extent 64bit flex_bg sparse_super large_file huge_file dir_nlink extra_isize metadata_csum
Default mount options: user_xattr acl
Filesystem state: clean
Errors behavior: Continue
-@@ -11,7 +11,7 @@
- Block count: 524288
- Reserved block count: 26214
- Overhead clusters: 35246
--Free blocks: 571
-+Free blocks: 568
- Free inodes: 65048
- First block: 1
- Block size: 1024
@@ -34,6 +34,7 @@
Journal inode: 8
Default directory hash: half_md4
Inode bitmap at 278 (+277)
Inode table at 294-549 (+293)
- 21 free blocks, 536 free inodes, 2 directories
-- Free blocks: 4413-4433
-+ 18 free blocks, 536 free inodes, 2 directories, 536 unused inodes
-+ Free blocks: 4413, 4417-4433
++ 21 free blocks, 536 free inodes, 2 directories, 536 unused inodes
+ Free blocks: 4413-4433
Free inodes: 489-1024
-Group 1: (Blocks 8193-16384)
+Group 1: (Blocks 8193-16384) [INODE_UNINIT, ITABLE_ZEROED]
cat > $CONF << ENDL
[fs_types]
ext4h = {
- features = has_journal,extent,huge_file,flex_bg,^uninit_bg,dir_nlink,extra_isize,sparse_super,filetype,dir_index,ext_attr,resize_inode,64bit
+ features = has_journal,extent,huge_file,flex_bg,^uninit_bg,dir_nlink,extra_isize,sparse_super,filetype,^dir_index,ext_attr,resize_inode,64bit
blocksize = 1024
inode_size = 256
make_hugefiles = true
cat > $CONF << ENDL
[fs_types]
ext4h = {
- features = has_journal,extent,huge_file,uninit_bg,dir_nlink,extra_isize,sparse_super,filetype,dir_index,ext_attr,^resize_inode,^meta_bg,^flex_bg,metadata_csum,64bit
+ features = has_journal,extent,huge_file,uninit_bg,dir_nlink,extra_isize,sparse_super,filetype,^dir_index,ext_attr,^resize_inode,^meta_bg,^flex_bg,metadata_csum,64bit
blocksize = 1024
inode_size = 256
make_hugefiles = true
MKE2FS_CONFIG=$CONF $MKE2FS -F -T ext4h -o Linux -I 128 $TMPFILE 786432 >> $OUT 2>&1
rm -f $CONF
-
+/bin/cp $TMPFILE /tmp/script.img
# dump and check
($DUMPE2FS -h $TMPFILE; $DUMPE2FS -g $TMPFILE) 2>&1 | sed -f $cmd_dir/filter.sed -e '/^Checksum:.*/d' >> $OUT.before 2> /dev/null
$FSCK $FSCK_OPT -N test_filesys $TMPFILE >> $OUT 2>&1