diff options
author | Theodore Ts'o <tytso@mit.edu> | 2018-03-16 11:19:02 -0400 |
---|---|---|
committer | Theodore Ts'o <tytso@mit.edu> | 2018-03-16 11:19:02 -0400 |
commit | a126f79a0eee38762d8e3d110281ae86322de444 (patch) | |
tree | aec2b27ea4a7333e2479655938c286c21d81bcbc | |
parent | 707599bf480195c98e3991fdb6b9d614a0427eef (diff) | |
download | e2fsprogs-a126f79a0eee38762d8e3d110281ae86322de444.tar.gz |
tests: add new test f_bigalloc_orphan_list
This is a regression test for the bugfix found in commit 707599bf:
"e2fsck: release clusters only once in release_inode_blocks"
Signed-off-by: Theodore Ts'o <tytso@mit.edu>
-rw-r--r-- | tests/f_bigalloc_orphan_list/expect.1 | 10 | ||||
-rw-r--r-- | tests/f_bigalloc_orphan_list/expect.2 | 7 | ||||
-rw-r--r-- | tests/f_bigalloc_orphan_list/name | 1 | ||||
-rw-r--r-- | tests/f_bigalloc_orphan_list/script | 28 |
4 files changed, 46 insertions, 0 deletions
diff --git a/tests/f_bigalloc_orphan_list/expect.1 b/tests/f_bigalloc_orphan_list/expect.1 new file mode 100644 index 000000000..622620d06 --- /dev/null +++ b/tests/f_bigalloc_orphan_list/expect.1 @@ -0,0 +1,10 @@ +Clearing orphaned inode 12 (uid=0, gid=0, mode=0100644, size=28672) +Pass 1: Checking inodes, blocks, and sizes +Pass 2: Checking directory structure +Pass 3: Checking directory connectivity +Pass 4: Checking reference counts +Pass 5: Checking group summary information + +test_filesys: ***** FILE SYSTEM WAS MODIFIED ***** +test_filesys: 11/64 files (0.0% non-contiguous), 96/1024 blocks +Exit status is 0 diff --git a/tests/f_bigalloc_orphan_list/expect.2 b/tests/f_bigalloc_orphan_list/expect.2 new file mode 100644 index 000000000..30392d428 --- /dev/null +++ b/tests/f_bigalloc_orphan_list/expect.2 @@ -0,0 +1,7 @@ +Pass 1: Checking inodes, blocks, and sizes +Pass 2: Checking directory structure +Pass 3: Checking directory connectivity +Pass 4: Checking reference counts +Pass 5: Checking group summary information +test_filesys: 11/64 files (0.0% non-contiguous), 96/1024 blocks +Exit status is 0 diff --git a/tests/f_bigalloc_orphan_list/name b/tests/f_bigalloc_orphan_list/name new file mode 100644 index 000000000..5d9566ff9 --- /dev/null +++ b/tests/f_bigalloc_orphan_list/name @@ -0,0 +1 @@ +orphaned list handling with bigalloc file systems diff --git a/tests/f_bigalloc_orphan_list/script b/tests/f_bigalloc_orphan_list/script new file mode 100644 index 000000000..1508bf126 --- /dev/null +++ b/tests/f_bigalloc_orphan_list/script @@ -0,0 +1,28 @@ +if test -x $DEBUGFS_EXE; then + +SKIP_GUNZIP="true" +TEST_DATA="$test_name.tmp" + +dd if=$TEST_BITS of=$TEST_DATA bs=28k count=1 > /dev/null 2>&1 + +touch $TMPFILE +mke2fs -Fq -t ext4 -O bigalloc $TMPFILE 1M > /dev/null 2>&1 +debugfs -w $TMPFILE << EOF > /dev/null 2>&1 +write $TEST_DATA testfile +set_inode_field testfile links_count 0 +set_inode_field testfile bmap[0] 0 +set_inode_field testfile bmap[2] 0 +set_super_value last_orphan 12 +unlink testfile +quit +EOF + +. $cmd_dir/run_e2fsck + +rm -f $TEST_DATA + +unset E2FSCK_TIME TEST_DATA + +else #if test -x $DEBUGFS_EXE; then + echo "$test_name: $test_description: skipped" +fi |