From mboxrd@z Thu Jan 1 00:00:00 1970 From: "Darrick J. Wong" Subject: [PATCH 28/39] tests: test resize2fs 32->64 and 64->32bit conversion code Date: Sat, 25 Oct 2014 13:59:23 -0700 Message-ID: <20141025205923.532.70210.stgit@birch.djwong.org> References: <20141025205623.532.12119.stgit@birch.djwong.org> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: 7bit Cc: linux-ext4@vger.kernel.org To: tytso@mit.edu, darrick.wong@oracle.com Return-path: Received: from aserp1040.oracle.com ([141.146.126.69]:44240 "EHLO aserp1040.oracle.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752838AbaJYU76 (ORCPT ); Sat, 25 Oct 2014 16:59:58 -0400 In-Reply-To: <20141025205623.532.12119.stgit@birch.djwong.org> Sender: linux-ext4-owner@vger.kernel.org List-ID: Add some simple tests to check that flex_bg and meta_bg filesystems can be converted between 32 and 64bit layouts. Signed-off-by: Darrick J. Wong --- tests/r_32to64bit/expect.gz | Bin tests/r_32to64bit/name | 1 + tests/r_32to64bit/script | 75 ++++++++++++++++++++++++++++++++++++++ tests/r_32to64bit_meta/expect.gz | Bin tests/r_32to64bit_meta/name | 1 + tests/r_32to64bit_meta/script | 75 ++++++++++++++++++++++++++++++++++++++ tests/r_64to32bit/expect.gz | Bin tests/r_64to32bit/name | 1 + tests/r_64to32bit/script | 75 ++++++++++++++++++++++++++++++++++++++ tests/r_64to32bit_meta/expect.gz | Bin tests/r_64to32bit_meta/name | 1 + tests/r_64to32bit_meta/script | 75 ++++++++++++++++++++++++++++++++++++++ 12 files changed, 304 insertions(+) create mode 100644 tests/r_32to64bit/expect.gz create mode 100644 tests/r_32to64bit/name create mode 100644 tests/r_32to64bit/script create mode 100644 tests/r_32to64bit_meta/expect.gz create mode 100644 tests/r_32to64bit_meta/name create mode 100644 tests/r_32to64bit_meta/script create mode 100644 tests/r_64to32bit/expect.gz create mode 100644 tests/r_64to32bit/name create mode 100644 tests/r_64to32bit/script create mode 100644 tests/r_64to32bit_meta/expect.gz create mode 100644 tests/r_64to32bit_meta/name create mode 100644 tests/r_64to32bit_meta/script diff --git a/tests/r_32to64bit/expect.gz b/tests/r_32to64bit/expect.gz new file mode 100644 index 0000000000000000000000000000000000000000..4ba35c8ffb7ca9ef3159f1c40dd507c5fdcff180 GIT binary patch literal 3144 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 $EXP + +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 + blocksize = 1024 + inode_size = 256 + make_hugefiles = true + hugefiles_dir = / + hugefiles_slack = 0 + hugefiles_name = aaaaa + hugefiles_digits = 4 + hugefiles_size = 1M + zero_hugefiles = false + } +ENDL + +echo "resize2fs test" > $OUT + +MKE2FS_CONFIG=$CONF $MKE2FS -F -T ext4h $TMPFILE 524288 >> $OUT 2>&1 +rm -rf $CONF + +# dump and check +$DUMPE2FS $TMPFILE 2>&1 | egrep "(GDT|bitmap|descriptor|^Group|Inode table|features)" >> $OUT +$FSCK $FSCK_OPT -N test_filesys $TMPFILE >> $OUT 2>&1 +status=$? +echo Exit status is $status >> $OUT + +# resize it +echo "resize2fs test.img -b" >> $OUT +$RESIZE2FS $TMPFILE -b -f 2>&1 >> $OUT 2>&1 +status=$? +echo Exit status is $status >> $OUT + +# dump and check +$DUMPE2FS $TMPFILE 2>&1 | egrep "(GDT|bitmap|descriptor|^Group|Inode table|features)" >> $OUT +$FSCK $FSCK_OPT -N test_filesys $TMPFILE >> $OUT 2>&1 +status=$? +echo Exit status is $status >> $OUT + +rm $TMPFILE + +# +# Do the verification +# + +sed -f $cmd_dir/filter.sed -e "s;$TMPFILE;test.img;" -e 's/test_filesys:.*//g' -i $OUT + +cmp -s $OUT $EXP +status=$? + +if [ "$status" = 0 ] ; then + echo "$test_name: $test_description: ok" + touch $test_name.ok +else + echo "$test_name: $test_description: failed" + diff $DIFF_OPTS $EXP $OUT > $test_name.failed +fi + +rm $EXP + +unset IMAGE FSCK_OPT OUT EXP CONF + +else #if test -x $RESIZE2FS_EXE -a -x $DEBUGFS_EXE; then + echo "$test_name: $test_description: skipped" +fi + diff --git a/tests/r_32to64bit_meta/expect.gz b/tests/r_32to64bit_meta/expect.gz new file mode 100644 index 0000000000000000000000000000000000000000..d6985ecb82b5b7bd9f5046ba99a7e6cf2d60963a GIT binary patch literal 2956 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 literal 0 HcmV?d00001 diff --git a/tests/r_32to64bit_meta/name b/tests/r_32to64bit_meta/name new file mode 100644 index 0000000..d83492e --- /dev/null +++ b/tests/r_32to64bit_meta/name @@ -0,0 +1 @@ +convert meta_bg 32bit fs to 64bit fs diff --git a/tests/r_32to64bit_meta/script b/tests/r_32to64bit_meta/script new file mode 100644 index 0000000..5d02114 --- /dev/null +++ b/tests/r_32to64bit_meta/script @@ -0,0 +1,75 @@ +if test -x $RESIZE2FS_EXE -a -x $DEBUGFS_EXE; then + +FSCK_OPT=-fn +OUT=$test_name.log +EXP=$test_dir/expect +CONF=$TMPFILE.conf + +gzip -d < $EXP.gz > $EXP + +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 + blocksize = 1024 + inode_size = 256 + make_hugefiles = true + hugefiles_dir = / + hugefiles_slack = 0 + hugefiles_name = aaaaa + hugefiles_digits = 4 + hugefiles_size = 1M + zero_hugefiles = false + } +ENDL + +echo "resize2fs test" > $OUT + +MKE2FS_CONFIG=$CONF $MKE2FS -F -T ext4h $TMPFILE 524288 >> $OUT 2>&1 +rm -rf $CONF + +# dump and check +$DUMPE2FS $TMPFILE 2>&1 | egrep "(GDT|bitmap|descriptor|^Group|Inode table|features)" >> $OUT +$FSCK $FSCK_OPT -N test_filesys $TMPFILE >> $OUT 2>&1 +status=$? +echo Exit status is $status >> $OUT + +# resize it +echo "resize2fs test.img -b" >> $OUT +$RESIZE2FS $TMPFILE -b -f 2>&1 >> $OUT 2>&1 +status=$? +echo Exit status is $status >> $OUT + +# dump and check +$DUMPE2FS $TMPFILE 2>&1 | egrep "(GDT|bitmap|descriptor|^Group|Inode table|features)" >> $OUT +$FSCK $FSCK_OPT -N test_filesys $TMPFILE >> $OUT 2>&1 +status=$? +echo Exit status is $status >> $OUT + +rm $TMPFILE + +# +# Do the verification +# + +sed -f $cmd_dir/filter.sed -e "s;$TMPFILE;test.img;" -e 's/test_filesys:.*//g' -i $OUT + +cmp -s $OUT $EXP +status=$? + +if [ "$status" = 0 ] ; then + echo "$test_name: $test_description: ok" + touch $test_name.ok +else + echo "$test_name: $test_description: failed" + diff $DIFF_OPTS $EXP $OUT > $test_name.failed +fi + +rm $EXP + +unset IMAGE FSCK_OPT OUT EXP CONF + +else #if test -x $RESIZE2FS_EXE -a -x $DEBUGFS_EXE; then + echo "$test_name: $test_description: skipped" +fi + diff --git a/tests/r_64to32bit/expect.gz b/tests/r_64to32bit/expect.gz new file mode 100644 index 0000000000000000000000000000000000000000..375a749e42b2a49724e874761048ac4cb91e010b GIT binary patch literal 3179 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 literal 0 HcmV?d00001 diff --git a/tests/r_64to32bit/name b/tests/r_64to32bit/name new file mode 100644 index 0000000..4c82371 --- /dev/null +++ b/tests/r_64to32bit/name @@ -0,0 +1 @@ +convert flex_bg 64bit fs to 32bit fs diff --git a/tests/r_64to32bit/script b/tests/r_64to32bit/script new file mode 100644 index 0000000..83a37bd --- /dev/null +++ b/tests/r_64to32bit/script @@ -0,0 +1,75 @@ +if test -x $RESIZE2FS_EXE -a -x $DEBUGFS_EXE; then + +FSCK_OPT=-fn +OUT=$test_name.log +EXP=$test_dir/expect +CONF=$TMPFILE.conf + +gzip -d < $EXP.gz > $EXP + +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 + blocksize = 1024 + inode_size = 256 + make_hugefiles = true + hugefiles_dir = / + hugefiles_slack = 0 + hugefiles_name = aaaaa + hugefiles_digits = 4 + hugefiles_size = 1M + zero_hugefiles = false + } +ENDL + +echo "resize2fs test" > $OUT + +MKE2FS_CONFIG=$CONF $MKE2FS -F -T ext4h $TMPFILE 524288 >> $OUT 2>&1 +rm -rf $CONF + +# dump and check +$DUMPE2FS $TMPFILE 2>&1 | egrep "(GDT|bitmap|descriptor|^Group|Inode table|features)" >> $OUT +$FSCK $FSCK_OPT -N test_filesys $TMPFILE >> $OUT 2>&1 +status=$? +echo Exit status is $status >> $OUT + +# resize it +echo "resize2fs test.img -s" >> $OUT +$RESIZE2FS $TMPFILE -s -f 2>&1 >> $OUT 2>&1 +status=$? +echo Exit status is $status >> $OUT + +# dump and check +$DUMPE2FS $TMPFILE 2>&1 | egrep "(GDT|bitmap|descriptor|^Group|Inode table|features)" >> $OUT +$FSCK $FSCK_OPT -N test_filesys $TMPFILE >> $OUT 2>&1 +status=$? +echo Exit status is $status >> $OUT + +rm $TMPFILE + +# +# Do the verification +# + +sed -f $cmd_dir/filter.sed -e "s;$TMPFILE;test.img;" -e 's/test_filesys:.*//g' -i $OUT + +cmp -s $OUT $EXP +status=$? + +if [ "$status" = 0 ] ; then + echo "$test_name: $test_description: ok" + touch $test_name.ok +else + echo "$test_name: $test_description: failed" + diff $DIFF_OPTS $EXP $OUT > $test_name.failed +fi + +rm $EXP + +unset IMAGE FSCK_OPT OUT EXP CONF + +else #if test -x $RESIZE2FS_EXE -a -x $DEBUGFS_EXE; then + echo "$test_name: $test_description: skipped" +fi + diff --git a/tests/r_64to32bit_meta/expect.gz b/tests/r_64to32bit_meta/expect.gz new file mode 100644 index 0000000000000000000000000000000000000000..e39d01f1bc21038a73c3678f11dd66fba8c25aeb GIT binary patch literal 2924 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 Y2I|58$YVa1zGLR)AG6a^_5i>?0Su9%RsaA1 literal 0 HcmV?d00001 diff --git a/tests/r_64to32bit_meta/name b/tests/r_64to32bit_meta/name new file mode 100644 index 0000000..e99ed8b --- /dev/null +++ b/tests/r_64to32bit_meta/name @@ -0,0 +1 @@ +convert meta_bg 64bit fs to 32bit fs diff --git a/tests/r_64to32bit_meta/script b/tests/r_64to32bit_meta/script new file mode 100644 index 0000000..e2190ce --- /dev/null +++ b/tests/r_64to32bit_meta/script @@ -0,0 +1,75 @@ +if test -x $RESIZE2FS_EXE -a -x $DEBUGFS_EXE; then + +FSCK_OPT=-fn +OUT=$test_name.log +EXP=$test_dir/expect +CONF=$TMPFILE.conf + +gzip -d < $EXP.gz > $EXP + +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 + blocksize = 1024 + inode_size = 256 + make_hugefiles = true + hugefiles_dir = / + hugefiles_slack = 0 + hugefiles_name = aaaaa + hugefiles_digits = 4 + hugefiles_size = 1M + zero_hugefiles = false + } +ENDL + +echo "resize2fs test" > $OUT + +MKE2FS_CONFIG=$CONF $MKE2FS -F -T ext4h $TMPFILE 524288 >> $OUT 2>&1 +rm -rf $CONF + +# dump and check +$DUMPE2FS $TMPFILE 2>&1 | egrep "(GDT|bitmap|descriptor|^Group|Inode table|features)" >> $OUT +$FSCK $FSCK_OPT -N test_filesys $TMPFILE >> $OUT 2>&1 +status=$? +echo Exit status is $status >> $OUT + +# resize it +echo "resize2fs test.img -s" >> $OUT +$RESIZE2FS $TMPFILE -s -f 2>&1 >> $OUT 2>&1 +status=$? +echo Exit status is $status >> $OUT + +# dump and check +$DUMPE2FS $TMPFILE 2>&1 | egrep "(GDT|bitmap|descriptor|^Group|Inode table|features)" >> $OUT +$FSCK $FSCK_OPT -N test_filesys $TMPFILE >> $OUT 2>&1 +status=$? +echo Exit status is $status >> $OUT + +rm $TMPFILE + +# +# Do the verification +# + +sed -f $cmd_dir/filter.sed -e "s;$TMPFILE;test.img;" -e 's/test_filesys:.*//g' -i $OUT + +cmp -s $OUT $EXP +status=$? + +if [ "$status" = 0 ] ; then + echo "$test_name: $test_description: ok" + touch $test_name.ok +else + echo "$test_name: $test_description: failed" + diff $DIFF_OPTS $EXP $OUT > $test_name.failed +fi + +rm $EXP + +unset IMAGE FSCK_OPT OUT EXP CONF + +else #if test -x $RESIZE2FS_EXE -a -x $DEBUGFS_EXE; then + echo "$test_name: $test_description: skipped" +fi +