]> git.ipfire.org Git - thirdparty/e2fsprogs.git/commitdiff
tests: update tests after improving dir_index support
authorTheodore Ts'o <tytso@mit.edu>
Thu, 2 Apr 2026 12:46:10 +0000 (08:46 -0400)
committerTheodore Ts'o <tytso@mit.edu>
Thu, 2 Apr 2026 12:46:10 +0000 (08:46 -0400)
Commit f3c5e16bc36c ("libext2fs: initialize htree when expanding
directory") allows libext2fs to better support htree directories.
This breaks a number of e2fsprogs regression tests because it changes
the expected output.  Fix these up.

Fixes: f3c5e16bc36c ("libext2fs: initialize htree when expanding directory")
Signed-off-by: Theodore Ts'o <tytso@mit.edu>
20 files changed:
tests/f_opt_extent/script
tests/r_32to64bit/expect
tests/r_32to64bit/script
tests/r_32to64bit_meta/expect
tests/r_32to64bit_meta/script
tests/r_32to64bit_move_itable/expect
tests/r_32to64bit_move_itable/script
tests/r_64to32bit/expect
tests/r_64to32bit/script
tests/r_64to32bit_meta/expect
tests/r_64to32bit_meta/script
tests/t_dangerous/expect
tests/t_dangerous/script
tests/t_disable_mcsum_noinitbg/expect
tests/t_disable_mcsum_noinitbg/script
tests/t_enable_mcsum/expect
tests/t_enable_mcsum/script
tests/t_enable_mcsum_initbg/expect
tests/t_enable_mcsum_initbg/script
tests/t_iexpand_full/script

index 001c727da413e40863693d425da61b50a2fefde0..670bdb9ebe5ad3a1929b3055249af97f5972bf1b 100644 (file)
@@ -6,7 +6,7 @@ CONF=$TMPFILE.conf
 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
@@ -23,6 +23,7 @@ echo "tune2fs metadata_csum test" > $OUT
 
 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
index de573b3e3172d50f844a0f0466e736d6893c519b..72386c3012e5c22fae550efc8e804400286f1a2d 100644 (file)
@@ -26,8 +26,8 @@ Change in FS metadata:
  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
index 40b8088f1cb7382e64d5d0f475aea562fe472bc1..a3c5d8734990025217bc75661aa0f147bf092ec9 100644 (file)
@@ -11,7 +11,7 @@ CONF=$TMPFILE.conf
 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
index 70babbd936f2e0cccd456d8fe97619412ecf6f16..77f4a556ef9e71f122e15fd9400e70d86ceb917f 100644 (file)
@@ -26,8 +26,8 @@ Change in FS metadata:
  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
index 20106fd543c9ffd8e6a626c679cfd59128e70cd3..951c2cc2db08867d80ce4010b25a745cc6b6c12b 100644 (file)
@@ -11,7 +11,7 @@ CONF=$TMPFILE.conf
 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
index a1d2aebc4160093612d92c565190346593280646..850df62afa67121de55916ccf5781776bd55b7ac 100644 (file)
@@ -26,8 +26,8 @@ Change in FS metadata:
  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
index 07489865b9da4ac6452eef8794c7b790b9106c39..a5719275cea41d178fd0e45c6711b7202d9374e0 100644 (file)
@@ -11,7 +11,7 @@ CONF=$TMPFILE.conf
 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
index eb609fbdaeeee9b69ee576bcd82482da38f2730f..03969ef0c65885674b0f7f184e57bbf57377504c 100644 (file)
@@ -26,8 +26,8 @@ Change in FS metadata:
  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
index df2b545c8dab42fd7db61ac4f0bce88c6bd4aedd..83659736c7060f1c69427ff3ce341e88fd7169d8 100644 (file)
@@ -11,7 +11,7 @@ CONF=$TMPFILE.conf
 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
index 706559091a0d6aece10fcd4ecf6adb1d31282c1f..796ab949117ca1192930543817643c0264777708 100644 (file)
@@ -26,8 +26,8 @@ Change in FS metadata:
  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
index 5ee9f02b4219ff9d293070f5c094cb400642647b..d83991a157e731b021bd49c04392252f8b1d950c 100644 (file)
@@ -11,7 +11,7 @@ CONF=$TMPFILE.conf
 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
index 6f76ce7b679d3e150f22f10965f6aa3d43f660ef..6da167879c6db8b64a1eb7c51616d835af86de70 100644 (file)
@@ -83,10 +83,10 @@ Backing up journal inode block information.
 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
index b6cf045cbbe0ebe757842d78232906efa10315a0..424e1dda74dbf77f8e26ed24162bae8f395abb18 100644 (file)
@@ -6,7 +6,7 @@ CONF=$TMPFILE.conf
 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
@@ -18,7 +18,7 @@ cat > $CONF << ENDL
                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
@@ -38,7 +38,9 @@ MKE2FS_CONFIG=$CONF $MKE2FS -F -T ext4h -o Linux -U 6fc3daa4-180d-4f2b-a6f2-f7a5
 # 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
index fe61fcbca9f24505e84f53be0f1611e26e88ef1b..d8c173ad1f4f36ecea32381260e93d63d6f937ad 100644 (file)
@@ -23,8 +23,8 @@ Change in FS metadata:
  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
index bc2bad75f0a88278bac3e67d194047bacfc74f40..a08b5100c65e6f15f159fffbd9582ffc3c014717 100644 (file)
@@ -6,7 +6,7 @@ CONF=$TMPFILE.conf
 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
index fcb0ed16bd5ceb09099ceb37bd2266d306491221..9ceb87d84e308ace3c61d8aa72e55191efcc4d96 100644 (file)
@@ -38,20 +38,11 @@ Change in FS metadata:
  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
@@ -60,17 +51,6 @@ Change in FS metadata:
  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
index 3a5409b5ab52a54bc361dad3e8a7aed6a0a1eae3..380501711e2dcddf0eb8f487e7f833d88d7554c8 100644 (file)
@@ -6,7 +6,7 @@ CONF=$TMPFILE.conf
 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
index 987141f16519ff35637f35007add051167a94f58..1c4b43c702a2faf40b524fa5ec4f4406c6e9f6af 100644 (file)
@@ -38,20 +38,11 @@ Change in FS metadata:
  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
@@ -72,9 +63,8 @@ Change in FS metadata:
    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]
index 975b0f3419c6922eaf9f7d8d206515e8e5fc4e56..405189d8d7870dff329bab4e4b1e7fa49fcf2e01 100644 (file)
@@ -6,7 +6,7 @@ CONF=$TMPFILE.conf
 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
index 2d347c2355d3c35a72cdeacb1317a8457b1f646f..1b53f0bd60cb9218d52120ec17da43d1c0450a5c 100644 (file)
@@ -19,7 +19,7 @@ CONF=$TMPFILE.conf
 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
@@ -36,7 +36,7 @@ echo "tune2fs test" > $OUT
 
 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