From: Miao X. <mi...@cn...> - 2009-10-26 07:12:32
|
This is the patch of testcases for the ext4 new features test. It contains multi-block alloc/delayed alloc test, inode version test, journal checksumming test, nanosec timestamps test, online defrag test, persist prealloc test, subdirectory limit test and uninit groups test of ext4. In this test suite, there is two FAIL in the subdirectory limit test. It is because we cann't create more than 32000 subdirectory when block size is small, such as 1024, and the name of every subdirectory is very long, such as every name is 255 bytes. I think it is the bug of the ext4. Note: Your MUST run configure in the directory testcases/kernel/fs/ext4-new-features to config the tool of ffsb, and specify a partition to be used for test before compiling the tool. The data on the specified partition would be DESTROYED. Signed-off-by: Miao Xie <mi...@cn...> --- README | 18 + runtest/fs_ext4 | 1 + testcases/kernel/fs/Makefile | 4 +- testcases/kernel/fs/ext4-new-features/Makefile | 38 + testcases/kernel/fs/ext4-new-features/README | 147 + testcases/kernel/fs/ext4-new-features/configure | 23 + .../ext4-delalloc-mballoc/Makefile | 25 + .../ext4-delalloc-mballoc/ext4-alloc-test.sh | 167 + .../fs/ext4-new-features/ext4-ffsb-config/Makefile | 25 + .../ext4-ffsb-config/ffsb-config0 | 23 + .../ext4-ffsb-config/ffsb-config1 | 23 + .../ext4-ffsb-config/ffsb-config2 | 23 + .../ext4-ffsb-config/ffsb-config3 | 29 + .../ext4-ffsb-config/ffsb-config4 | 29 + .../ext4-ffsb-config/ffsb-config5 | 29 + .../ext4-ffsb-config/ffsb-config6 | 29 + .../ext4-ffsb-config/ffsb-config7 | 29 + .../ext4-new-features/ext4-inode-version/Makefile | 25 + .../ext4-inode-version/ext4_get_inode_version.sh | 41 + .../ext4-inode-version/ext4_inode_version_test.sh | 205 + .../ext4-inode-version/ext4_test_inode_version.c | 219 + .../ext4-journal-checksum/Makefile | 25 + .../ext4-journal-checksum/ext4_journal_checksum.sh | 148 + .../ext4-nsec-timestamps/Makefile | 25 + .../ext4-nsec-timestamps/ext4_file_time.c | 70 + .../ext4_nsec_timestamps_test.sh | 196 + .../ext4-new-features/ext4-online-defrag/Makefile | 25 + .../ext4-online-defrag/e4defrag.c | 2171 ++++++ .../ext4-online-defrag/ext4_online_defrag_test.sh | 192 + .../ext4-persist-prealloc/Makefile | 25 + .../ext4_persist_prealloc_test.sh | 113 + .../ext4-new-features/ext4-subdir-limit/Makefile | 25 + .../ext4-subdir-limit/create_long_dirs.c | 156 + .../ext4-subdir-limit/create_short_dirs.c | 158 + .../ext4-subdir-limit/ext4_subdir_limit_test.sh | 167 + .../ext4-new-features/ext4-uninit-groups/Makefile | 25 + .../ext4-uninit-groups/ext4_uninit_groups_test.sh | 161 + .../kernel/fs/ext4-new-features/ext4_funcs.sh | 47 + .../fs/ext4-new-features/ffsb-6.0-rc2/AUTHORS | 7 + .../fs/ext4-new-features/ffsb-6.0-rc2/COPYING | 340 + .../fs/ext4-new-features/ffsb-6.0-rc2/INSTALL | 182 + .../fs/ext4-new-features/ffsb-6.0-rc2/LICENSE | 347 + .../fs/ext4-new-features/ffsb-6.0-rc2/Makefile.am | 46 + .../fs/ext4-new-features/ffsb-6.0-rc2/Makefile.in | 628 ++ .../fs/ext4-new-features/ffsb-6.0-rc2/README | 413 ++ .../fs/ext4-new-features/ffsb-6.0-rc2/aclocal.m4 | 880 +++ .../fs/ext4-new-features/ffsb-6.0-rc2/cirlist.c | 107 + .../fs/ext4-new-features/ffsb-6.0-rc2/cirlist.h | 41 + .../fs/ext4-new-features/ffsb-6.0-rc2/config.guess | 1450 ++++ .../fs/ext4-new-features/ffsb-6.0-rc2/config.h.in | 130 + .../fs/ext4-new-features/ffsb-6.0-rc2/config.sub | 1545 +++++ .../fs/ext4-new-features/ffsb-6.0-rc2/configure | 7000 ++++++++++++++++++++ .../fs/ext4-new-features/ffsb-6.0-rc2/configure.in | 49 + .../fs/ext4-new-features/ffsb-6.0-rc2/depcomp | 472 ++ .../ffsb-6.0-rc2/examples/profile_everything | 119 + .../fs/ext4-new-features/ffsb-6.0-rc2/ffsb.h | 105 + .../fs/ext4-new-features/ffsb-6.0-rc2/ffsb_fc.c | 112 + .../fs/ext4-new-features/ffsb-6.0-rc2/ffsb_fs.c | 634 ++ .../fs/ext4-new-features/ffsb-6.0-rc2/ffsb_fs.h | 184 + .../fs/ext4-new-features/ffsb-6.0-rc2/ffsb_op.c | 178 + .../fs/ext4-new-features/ffsb-6.0-rc2/ffsb_op.h | 102 + .../fs/ext4-new-features/ffsb-6.0-rc2/ffsb_stats.c | 241 + .../fs/ext4-new-features/ffsb-6.0-rc2/ffsb_stats.h | 109 + .../fs/ext4-new-features/ffsb-6.0-rc2/ffsb_tg.c | 369 + .../fs/ext4-new-features/ffsb-6.0-rc2/ffsb_tg.h | 206 + .../ext4-new-features/ffsb-6.0-rc2/ffsb_thread.c | 171 + .../ext4-new-features/ffsb-6.0-rc2/ffsb_thread.h | 108 + .../kernel/fs/ext4-new-features/ffsb-6.0-rc2/fh.c | 278 + .../kernel/fs/ext4-new-features/ffsb-6.0-rc2/fh.h | 41 + .../fs/ext4-new-features/ffsb-6.0-rc2/filelist.c | 503 ++ .../fs/ext4-new-features/ffsb-6.0-rc2/filelist.h | 145 + .../fs/ext4-new-features/ffsb-6.0-rc2/fileops.c | 547 ++ .../fs/ext4-new-features/ffsb-6.0-rc2/fileops.h | 51 + .../fs/ext4-new-features/ffsb-6.0-rc2/install-sh | 250 + .../fs/ext4-new-features/ffsb-6.0-rc2/list.c | 55 + .../fs/ext4-new-features/ffsb-6.0-rc2/list.h | 53 + .../fs/ext4-new-features/ffsb-6.0-rc2/main.c | 258 + .../fs/ext4-new-features/ffsb-6.0-rc2/metaops.c | 112 + .../fs/ext4-new-features/ffsb-6.0-rc2/metaops.h | 28 + .../fs/ext4-new-features/ffsb-6.0-rc2/missing | 336 + .../ext4-new-features/ffsb-6.0-rc2/mkinstalldirs | 40 + .../fs/ext4-new-features/ffsb-6.0-rc2/parser.c | 1034 +++ .../fs/ext4-new-features/ffsb-6.0-rc2/parser.h | 151 + .../ffsb-6.0-rc2/public-description | 4 + .../fs/ext4-new-features/ffsb-6.0-rc2/rand.c | 188 + .../fs/ext4-new-features/ffsb-6.0-rc2/rand.h | 60 + .../kernel/fs/ext4-new-features/ffsb-6.0-rc2/rbt.c | 1040 +++ .../kernel/fs/ext4-new-features/ffsb-6.0-rc2/rbt.h | 316 + .../ffsb-6.0-rc2/registration-description | 7 + .../fs/ext4-new-features/ffsb-6.0-rc2/rwlock.c | 109 + .../fs/ext4-new-features/ffsb-6.0-rc2/rwlock.h | 51 + .../fs/ext4-new-features/ffsb-6.0-rc2/stamp-h.in | 1 + .../fs/ext4-new-features/ffsb-6.0-rc2/util.c | 351 + .../fs/ext4-new-features/ffsb-6.0-rc2/util.h | 94 + .../kernel/fs/ext4-new-features/run_ext4_test.sh | 179 + 95 files changed, 27437 insertions(+), 1 deletions(-) create mode 100644 runtest/fs_ext4 create mode 100644 testcases/kernel/fs/ext4-new-features/Makefile create mode 100644 testcases/kernel/fs/ext4-new-features/README create mode 100755 testcases/kernel/fs/ext4-new-features/configure create mode 100644 testcases/kernel/fs/ext4-new-features/ext4-delalloc-mballoc/Makefile create mode 100755 testcases/kernel/fs/ext4-new-features/ext4-delalloc-mballoc/ext4-alloc-test.sh create mode 100644 testcases/kernel/fs/ext4-new-features/ext4-ffsb-config/Makefile create mode 100644 testcases/kernel/fs/ext4-new-features/ext4-ffsb-config/ffsb-config0 create mode 100644 testcases/kernel/fs/ext4-new-features/ext4-ffsb-config/ffsb-config1 create mode 100644 testcases/kernel/fs/ext4-new-features/ext4-ffsb-config/ffsb-config2 create mode 100644 testcases/kernel/fs/ext4-new-features/ext4-ffsb-config/ffsb-config3 create mode 100644 testcases/kernel/fs/ext4-new-features/ext4-ffsb-config/ffsb-config4 create mode 100644 testcases/kernel/fs/ext4-new-features/ext4-ffsb-config/ffsb-config5 create mode 100644 testcases/kernel/fs/ext4-new-features/ext4-ffsb-config/ffsb-config6 create mode 100644 testcases/kernel/fs/ext4-new-features/ext4-ffsb-config/ffsb-config7 create mode 100644 testcases/kernel/fs/ext4-new-features/ext4-inode-version/Makefile create mode 100755 testcases/kernel/fs/ext4-new-features/ext4-inode-version/ext4_get_inode_version.sh create mode 100755 testcases/kernel/fs/ext4-new-features/ext4-inode-version/ext4_inode_version_test.sh create mode 100644 testcases/kernel/fs/ext4-new-features/ext4-inode-version/ext4_test_inode_version.c create mode 100644 testcases/kernel/fs/ext4-new-features/ext4-journal-checksum/Makefile create mode 100755 testcases/kernel/fs/ext4-new-features/ext4-journal-checksum/ext4_journal_checksum.sh create mode 100644 testcases/kernel/fs/ext4-new-features/ext4-nsec-timestamps/Makefile create mode 100644 testcases/kernel/fs/ext4-new-features/ext4-nsec-timestamps/ext4_file_time.c create mode 100755 testcases/kernel/fs/ext4-new-features/ext4-nsec-timestamps/ext4_nsec_timestamps_test.sh create mode 100644 testcases/kernel/fs/ext4-new-features/ext4-online-defrag/Makefile create mode 100644 testcases/kernel/fs/ext4-new-features/ext4-online-defrag/e4defrag.c create mode 100755 testcases/kernel/fs/ext4-new-features/ext4-online-defrag/ext4_online_defrag_test.sh create mode 100644 testcases/kernel/fs/ext4-new-features/ext4-persist-prealloc/Makefile create mode 100755 testcases/kernel/fs/ext4-new-features/ext4-persist-prealloc/ext4_persist_prealloc_test.sh create mode 100644 testcases/kernel/fs/ext4-new-features/ext4-subdir-limit/Makefile create mode 100644 testcases/kernel/fs/ext4-new-features/ext4-subdir-limit/create_long_dirs.c create mode 100644 testcases/kernel/fs/ext4-new-features/ext4-subdir-limit/create_short_dirs.c create mode 100755 testcases/kernel/fs/ext4-new-features/ext4-subdir-limit/ext4_subdir_limit_test.sh create mode 100644 testcases/kernel/fs/ext4-new-features/ext4-uninit-groups/Makefile create mode 100755 testcases/kernel/fs/ext4-new-features/ext4-uninit-groups/ext4_uninit_groups_test.sh create mode 100755 testcases/kernel/fs/ext4-new-features/ext4_funcs.sh create mode 100644 testcases/kernel/fs/ext4-new-features/ffsb-6.0-rc2/AUTHORS create mode 100644 testcases/kernel/fs/ext4-new-features/ffsb-6.0-rc2/COPYING create mode 100644 testcases/kernel/fs/ext4-new-features/ffsb-6.0-rc2/INSTALL create mode 100644 testcases/kernel/fs/ext4-new-features/ffsb-6.0-rc2/LICENSE create mode 100644 testcases/kernel/fs/ext4-new-features/ffsb-6.0-rc2/Makefile.am create mode 100644 testcases/kernel/fs/ext4-new-features/ffsb-6.0-rc2/Makefile.in create mode 100644 testcases/kernel/fs/ext4-new-features/ffsb-6.0-rc2/README create mode 100644 testcases/kernel/fs/ext4-new-features/ffsb-6.0-rc2/aclocal.m4 create mode 100644 testcases/kernel/fs/ext4-new-features/ffsb-6.0-rc2/cirlist.c create mode 100644 testcases/kernel/fs/ext4-new-features/ffsb-6.0-rc2/cirlist.h create mode 100644 testcases/kernel/fs/ext4-new-features/ffsb-6.0-rc2/config.guess create mode 100644 testcases/kernel/fs/ext4-new-features/ffsb-6.0-rc2/config.h.in create mode 100644 testcases/kernel/fs/ext4-new-features/ffsb-6.0-rc2/config.sub create mode 100644 testcases/kernel/fs/ext4-new-features/ffsb-6.0-rc2/configure create mode 100644 testcases/kernel/fs/ext4-new-features/ffsb-6.0-rc2/configure.in create mode 100644 testcases/kernel/fs/ext4-new-features/ffsb-6.0-rc2/depcomp create mode 100644 testcases/kernel/fs/ext4-new-features/ffsb-6.0-rc2/examples/profile_everything create mode 100644 testcases/kernel/fs/ext4-new-features/ffsb-6.0-rc2/ffsb.h create mode 100644 testcases/kernel/fs/ext4-new-features/ffsb-6.0-rc2/ffsb_fc.c create mode 100644 testcases/kernel/fs/ext4-new-features/ffsb-6.0-rc2/ffsb_fs.c create mode 100644 testcases/kernel/fs/ext4-new-features/ffsb-6.0-rc2/ffsb_fs.h create mode 100644 testcases/kernel/fs/ext4-new-features/ffsb-6.0-rc2/ffsb_op.c create mode 100644 testcases/kernel/fs/ext4-new-features/ffsb-6.0-rc2/ffsb_op.h create mode 100644 testcases/kernel/fs/ext4-new-features/ffsb-6.0-rc2/ffsb_stats.c create mode 100644 testcases/kernel/fs/ext4-new-features/ffsb-6.0-rc2/ffsb_stats.h create mode 100644 testcases/kernel/fs/ext4-new-features/ffsb-6.0-rc2/ffsb_tg.c create mode 100644 testcases/kernel/fs/ext4-new-features/ffsb-6.0-rc2/ffsb_tg.h create mode 100644 testcases/kernel/fs/ext4-new-features/ffsb-6.0-rc2/ffsb_thread.c create mode 100644 testcases/kernel/fs/ext4-new-features/ffsb-6.0-rc2/ffsb_thread.h create mode 100644 testcases/kernel/fs/ext4-new-features/ffsb-6.0-rc2/fh.c create mode 100644 testcases/kernel/fs/ext4-new-features/ffsb-6.0-rc2/fh.h create mode 100644 testcases/kernel/fs/ext4-new-features/ffsb-6.0-rc2/filelist.c create mode 100644 testcases/kernel/fs/ext4-new-features/ffsb-6.0-rc2/filelist.h create mode 100644 testcases/kernel/fs/ext4-new-features/ffsb-6.0-rc2/fileops.c create mode 100644 testcases/kernel/fs/ext4-new-features/ffsb-6.0-rc2/fileops.h create mode 100644 testcases/kernel/fs/ext4-new-features/ffsb-6.0-rc2/install-sh create mode 100644 testcases/kernel/fs/ext4-new-features/ffsb-6.0-rc2/list.c create mode 100644 testcases/kernel/fs/ext4-new-features/ffsb-6.0-rc2/list.h create mode 100644 testcases/kernel/fs/ext4-new-features/ffsb-6.0-rc2/main.c create mode 100644 testcases/kernel/fs/ext4-new-features/ffsb-6.0-rc2/metaops.c create mode 100644 testcases/kernel/fs/ext4-new-features/ffsb-6.0-rc2/metaops.h create mode 100644 testcases/kernel/fs/ext4-new-features/ffsb-6.0-rc2/missing create mode 100644 testcases/kernel/fs/ext4-new-features/ffsb-6.0-rc2/mkinstalldirs create mode 100644 testcases/kernel/fs/ext4-new-features/ffsb-6.0-rc2/parser.c create mode 100644 testcases/kernel/fs/ext4-new-features/ffsb-6.0-rc2/parser.h create mode 100644 testcases/kernel/fs/ext4-new-features/ffsb-6.0-rc2/public-description create mode 100644 testcases/kernel/fs/ext4-new-features/ffsb-6.0-rc2/rand.c create mode 100644 testcases/kernel/fs/ext4-new-features/ffsb-6.0-rc2/rand.h create mode 100644 testcases/kernel/fs/ext4-new-features/ffsb-6.0-rc2/rbt.c create mode 100644 testcases/kernel/fs/ext4-new-features/ffsb-6.0-rc2/rbt.h create mode 100644 testcases/kernel/fs/ext4-new-features/ffsb-6.0-rc2/registration-description create mode 100644 testcases/kernel/fs/ext4-new-features/ffsb-6.0-rc2/rwlock.c create mode 100644 testcases/kernel/fs/ext4-new-features/ffsb-6.0-rc2/rwlock.h create mode 100644 testcases/kernel/fs/ext4-new-features/ffsb-6.0-rc2/stamp-h.in create mode 100644 testcases/kernel/fs/ext4-new-features/ffsb-6.0-rc2/util.c create mode 100644 testcases/kernel/fs/ext4-new-features/ffsb-6.0-rc2/util.h create mode 100755 testcases/kernel/fs/ext4-new-features/run_ext4_test.sh diff --git a/README b/README index cec6e36..e98827c 100644 --- a/README +++ b/README @@ -405,3 +405,21 @@ end 1) Add as many framework as they get added/modifed in the kernel --------------------------------- +--------------------------------- +Enabling Kernel Configuration to test ext4 new features +--------------------------------- +CONFIG_EXT4_FS=y +CONFIG_EXT4DEV_COMPAT=y +CONFIG_EXT4_FS_XATTR=y +CONFIG_EXT4_FS_POSIX_ACL=y +CONFIG_EXT4_FS_SECURITY=y + +Beside that, the following packages are necessary. + e2fsprogs + e2fsprogs-devel + e2fsprogs-libs +And the version of packages must be 1.41.4 or above. + +For more information to build/install/run these tests, look through: +ltp/testcases/kernel/fs/ext4-new-features/README +--------------------------------- diff --git a/runtest/fs_ext4 b/runtest/fs_ext4 new file mode 100644 index 0000000..c65ebab --- /dev/null +++ b/runtest/fs_ext4 @@ -0,0 +1 @@ +ext4_new_feature_test run_ext4_test.sh diff --git a/testcases/kernel/fs/Makefile b/testcases/kernel/fs/Makefile index 12e2f48..4a5c862 100644 --- a/testcases/kernel/fs/Makefile +++ b/testcases/kernel/fs/Makefile @@ -25,6 +25,8 @@ top_srcdir ?= ../../.. include $(top_srcdir)/include/mk/env_pre.mk # XXX (garrcoop): Need to add autoconf checks for JFS. -FILTER_OUT_DIRS := dmapi +# ext4-new-features: This test need to be configured be user. +# Please read $LTPROOT/README to see the detail information +FILTER_OUT_DIRS := dmapi ext4-new-features include $(top_srcdir)/include/mk/generic_trunk_target.mk diff --git a/testcases/kernel/fs/ext4-new-features/Makefile b/testcases/kernel/fs/ext4-new-features/Makefile new file mode 100644 index 0000000..0e09dd6 --- /dev/null +++ b/testcases/kernel/fs/ext4-new-features/Makefile @@ -0,0 +1,38 @@ +# +# kernel/fs/ext4-new-features testcases Makefile. +# +# Copyright (C) 2009, Cisco Systems Inc. +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License along +# with this program; if not, write to the Free Software Foundation, Inc., +# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. +# + +top_srcdir ?= ../../../.. + +include $(top_srcdir)/include/mk/env_pre.mk + +INSTALL_TARGETS := *.sh +INSTALL_TARGETS := ext4-test-config +INSTALL_TARGETS := ffsb-6.0-rc2/ffsb + +FILTER_OUT_DIRS := ffsb-6.0-rc2 + +trunk-all: ffsb-6.0-rc2 + +trunk-clean:: | ffsb-clean + +ffsb-clean:: ffsb-6.0-rc2 + $(MAKE) -C $^ -f "$(abs_srcdir)/$^/Makefile" clean + +include $(top_srcdir)/include/mk/generic_trunk_target.mk diff --git a/testcases/kernel/fs/ext4-new-features/README b/testcases/kernel/fs/ext4-new-features/README new file mode 100644 index 0000000..0ea0460 --- /dev/null +++ b/testcases/kernel/fs/ext4-new-features/README @@ -0,0 +1,147 @@ +TEST SUITE: + +The directory ext4-new-features contains the tests related to the ext4 +filesystem's new features. + +Ext4 is an advanced level of the ext3 filesystem which incorporates scalability +and reliability enhancements for supporting large filesystems(64 bit) in keeping +with increasing disk capacities and state-of-the-art feature requirements. More +extensive information of ext4 can be found at the ext4 wiki site at the URL: +http://ext4.wiki.kernel.org + +There are total 119 testcases for ext4 new features test that have been added. +Now, these testcases can test multi-block alloc/delayed alloc, inode version +field on disk, journal checksumming, nanosec timestamps, online defrag, persist +prealloc, subdirectory limit and uninit groups of ext4. +The detail information of ext4 new features can be found at the URL: +http://ext4.wiki.kernel.org/index.php/New_ext4_features + + +TESTS AIM: + +The aim of the tests is to test ext4 new features. + + +TEST STEPS: +# cd LTPROOT/testcases/kernel/fs/ext4-new-features +# ./configure +# make +# make install +# cd LTPROOT +# ./runltp -f fs_ext4 + +**This testsuite wouldn't be built when doing LTP default build. We MUST do it + by ourself. + + +NOTE: + +1. This test can be run by root only. +2. Your MUST run *configure* in this directory to config the tool of ffsb and + specify a partition to be used for test before compiling the tool, and be + CAREFUL the data on the specified partition would be DESTROYED. It is better + that the size of partition is between 5G and 10G. If the partition is too + big, the test will spend much time. It is unnecessary. +3. Before starting test ext4 new features, please check whether ext4 filesystem + is compiled into the kernel or not, and the kernel version is *2.6.31* or + above. +4. A snapshot of config file options is given below: + ONFIG_EXT4_FS=y + CONFIG_EXT4DEV_COMPAT=y + CONFIG_EXT4_FS_XATTR=y + CONFIG_EXT4_FS_POSIX_ACL=y + CONFIG_EXT4_FS_SECURITY=y + +5. Beside that, the following packages are necessary: + e2fsprogs + (http://www.rpmfind.net/linux/rpm2html/search.php?query=e2fsprogs) + e2fsprogs-devel + (http://www.rpmfind.net/linux/rpm2html/search.php?query=e2fsprogs-devel) + e2fsprogs-libs + (http://www.rpmfind.net/linux/rpm2html/search.php?query=e2fsprogs-libs) + and the version of these packages should be 1.41.4 or above, otherwise the + test will fail. + + +FILES DESCRIPTION: + +configure +--------- +This is a config script that is used to configure the ffsb tool and specify a +partition for test. And the data on the specified partition would be destroyed. +Be careful! Beside that, you MUST run this script before compile the testcases. + +ext4-delalloc-mballoc +--------------------- +Directory containing the shell script which is used to test multi-block +allocation and delayed allocation of ext4. + +ext4-ffsb-config +---------------- +Directory containing the config of ffsb for test. + +ext4-inode-version +------------------ +Directory containing the shell script which is used to test inode version field +on disk of ext4. + +ext4-journal-checksum +--------------------- +Directory containing the shell script which is used to test journal checksumming +of ext4. + +ext4-nsec-timestamps +-------------------- +Directory containing the shell script which is used to test nanosec timestamps +of ext4. + +ext4-online-defrag +------------------ +Directory containing the shell script which is used to test online defrag +feature of ext4. + +ext4-persist-prealloc +--------------------- +Directory containing the shell script which is used to test persist prealloc +feature of ext4. + +ext4-subdir-limit +----------------- +Directory containing the shell script which is used to test subdirectory limit +of ext4. According to the kernel documentation, we create more than 32000 +subdirectorys on the ext4 filesystem. + +But, when then block size is small, such as 1024, and the name of every +subdirectory is very long, such as every name is 255 bytes, we can just create +less than 20000 subdirectory. In this test suite, there is two FAIL cases by +reason of it. + +ext4-uninit-groups +------------------ +Directory containing the shell script which is used to test uninitialized groups +feature of ext4. + +ffsb-6.0-rc2 +------------ +This directory contains The Flexible Filesystem Benchmark (FFSB) tool. We use +this tool to create some files to fill the test partition. This tool was written +by Sonny Rao(rao...@us...). + +ext4_funcs.sh +------------- +This script contains some functions for ext4 new features test script. +such as: ext4_setup, ext4_cleanup + +run_ext4_test.sh +---------------- +This script runs all the 119 testcases. + +Makefile +-------- +Each directory in this directory has its usual makefile, it is for its +directory. + +README +------ +The one you have gone through. + diff --git a/testcases/kernel/fs/ext4-new-features/configure b/testcases/kernel/fs/ext4-new-features/configure new file mode 100755 index 0000000..13f43f9 --- /dev/null +++ b/testcases/kernel/fs/ext4-new-features/configure @@ -0,0 +1,23 @@ +#!/bin/sh + +echo "Run the ffsb's configure" +cd ./ffsb-6.0-rc2 +./configure +cd .. + +EXT4_DEV= +RESULT= + +echo "Ext4 new features test configure" +echo "Please specify a partition to create ext4 filesystem:" +read EXT4_DEV + +echo "The partition is: $EXT4_DEV, Are you sure(Y/N)?" +read RESULT +if [ "$RESULT" == "Y" ] || [ "$RESULT" == "y" ]; then + echo "EXT4_DEV=$EXT4_DEV" > ./ext4-test-config +elif [ "$RESULT" == "N" ]; then + echo "Give up specifing a partition!" +else + echo "Your input is wrong($RESULT)." +fi diff --git a/testcases/kernel/fs/ext4-new-features/ext4-delalloc-mballoc/Makefile b/testcases/kernel/fs/ext4-new-features/ext4-delalloc-mballoc/Makefile new file mode 100644 index 0000000..1980349 --- /dev/null +++ b/testcases/kernel/fs/ext4-new-features/ext4-delalloc-mballoc/Makefile @@ -0,0 +1,25 @@ +# Copyright (C) 2009, Fujitsu LIMITED +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License along +# with this program; if not, write to the Free Software Foundation, Inc., +# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. +# + +top_srcdir ?= ../../../../.. + +include $(top_srcdir)/include/mk/testcases.mk + +MAKE_TARGETS := +INSTALL_TARGETS ?= *.sh + +include $(top_srcdir)/include/mk/generic_leaf_target.mk diff --git a/testcases/kernel/fs/ext4-new-features/ext4-delalloc-mballoc/ext4-alloc-test.sh b/testcases/kernel/fs/ext4-new-features/ext4-delalloc-mballoc/ext4-alloc-test.sh new file mode 100755 index 0000000..ec2f389 --- /dev/null +++ b/testcases/kernel/fs/ext4-new-features/ext4-delalloc-mballoc/ext4-alloc-test.sh @@ -0,0 +1,167 @@ +#!/bin/bash + +################################################################################ +# # +# Copyright (c) 2009 FUJITSU LIMITED # +# # +# This program is free software; you can redistribute it and#or modify # +# it under the terms of the GNU General Public License as published by # +# the Free Software Foundation; either version 2 of the License, or # +# (at your option) any later version. # +# # +# This program is distributed in the hope that it will be useful, but # +# WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY # +# or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License # +# for more details. # +# # +# You should have received a copy of the GNU General Public License # +# along with this program; if not, write to the Free Software # +# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA # +# # +################################################################################ + +cd $LTPROOT/testcases/bin + +. ./ext4_funcs.sh + +export TCID="ext4-delalloc-mballoc" +export TST_TOTAL=17 +export TST_COUNT=1 + +# $1: the test config + +export TEST_DIR=$PWD + +read_config $1 + +# Case 17: mount ext4 partition to ext3 +ext4_test_remount() +{ + mkfs.ext3 -I 256 -b 1024 $EXT4_DEV > /dev/null + if [ $? -ne 0 ]; then + tst_resm TFAIL "failed to create ext4 filesystem" + return 1 + fi + + tune2fs -E test_fs $EXT4_DEV + + mount -t ext4 -o delalloc,auto_da_alloc $EXT4_DEV mnt_point + if [ $? -ne 0 ]; then + tst_resm TFAIL "failed to mount ext4 filesystem" + return 1 + fi + + ./ffsb ffsb-config0 > /dev/null + if [ $? -ne 0 ]; then + tst_resm TFAIL "ffsb returned failure" + umount mnt_point + return 1 + fi + + umount mnt_point + if [ $? -ne 0 ]; then + tst_resm TFAIL "failed to umount ext4 filesystem" + return + fi + + mount -t ext3 $EXT4_DEV mnt_point + if [ $? -ne 0 ]; then + tst_resm TFAIL "failed to mount to ext3" + return 1 + fi + umount mnt_point + + fsck -p $EXT4_DEV + if [ $? -ne 0 ]; then + tst_resm TFAIL "fsck returned failure" + return 1 + fi + + tst_resm TPASS "remount test pass" +} + +# Case 1-16: Use ffsb to test mballoc and delalloc +# $1: delalloc or nodelalloc +# $2: 0 - indirect-io, 1 - direct-io +# $3: block size +# $4: auto_da_alloc +ext4_test_delalloc_mballoc() +{ + tst_resm TINFO "isDelalloc: $1, isDirectIO: $2, Blocksize: $3, \ + isAuto_da_alloc: $4" + + mkfs.ext4 -I 256 -b $3 /$EXT4_DEV > /dev/null + if [ $? -ne 0 ]; then + tst_resm TFAIL "failed to create ext4 filesystem" + return 1 + fi + + tune2fs -E test_fs -O extents $EXT4_DEV + + mount -t ext4 -o $1,$4 $EXT4_DEV mnt_point + if [ $? -ne 0 ]; then + tst_resm TFAIL "failed to mount ext4 filesystem" + return 1 + fi + + ./ffsb ffsb-config$2 > /dev/null + if [ $? -ne 0 ]; then + tst_resm TFAIL "ffsb returned failure" + umount mnt_point + return 1 + fi + + umount mnt_point + if [ $? -ne 0 ]; then + tst_resm TFAIL "failed to umount ext4 filesystem" + return 1 + fi + + fsck -p $EXT4_DEV + if [ $? -ne 0 ]; then + tst_resm TFAIL "fsck returned failure" + return 1 + fi + + tst_resm TPASS "delalloc/mballoc test pass" +} + +# main +ext4_setup + +DELALLOC=( "delalloc" "nodelalloc" ) +DIRECT_IO=( 0 1 ) +BLOCK_SIZE=( 1024 4096 ) +BLOCK_AUTO_DA_ALLOC=( "auto_da_alloc=1" "noauto_da_alloc" ) + +RET=0 + +for ((i = 0; i < 2; i++)) +{ + for ((j = 0; j < 2; j++)) + { + for ((k = 0; k < 2; k++)) + { + for ((l = 0; l < 2; l++)) + { + ext4_test_delalloc_mballoc ${DELALLOC[$k]} \ + ${DIRECT_IO[$j]} \ + ${BLOCK_SIZE[$i]} \ + ${BLOCK_AUTO_DA_ALLOC[$l]} + if [ $? -ne 0 ]; then + RET=1 + fi + : $((TST_COUNT++)) + } + } + } +} + +ext4_test_remount +if [ $? -ne 0 ]; then + RET=1 +fi + +ext4_cleanup + +exit $RET diff --git a/testcases/kernel/fs/ext4-new-features/ext4-ffsb-config/Makefile b/testcases/kernel/fs/ext4-new-features/ext4-ffsb-config/Makefile new file mode 100644 index 0000000..19dca28 --- /dev/null +++ b/testcases/kernel/fs/ext4-new-features/ext4-ffsb-config/Makefile @@ -0,0 +1,25 @@ +# Copyright (C) 2009, FUJITSU LIMITED +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License along +# with this program; if not, write to the Free Software Foundation, Inc., +# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. +# + +top_srcdir ?= ../../../../.. + +include $(top_srcdir)/include/mk/testcases.mk + +MAKE_TARGETS := +INSTALL_TARGETS ?= ffsb-config[0-7] + +include $(top_srcdir)/include/mk/generic_leaf_target.mk diff --git a/testcases/kernel/fs/ext4-new-features/ext4-ffsb-config/ffsb-config0 b/testcases/kernel/fs/ext4-new-features/ext4-ffsb-config/ffsb-config0 new file mode 100644 index 0000000..caf1928 --- /dev/null +++ b/testcases/kernel/fs/ext4-new-features/ext4-ffsb-config/ffsb-config0 @@ -0,0 +1,23 @@ +directio=0 +time=500 + +[filesystem0] +location=mnt_point +num_files=100000 +num_dirs=40 +max_filesize=40960 +min_filesize=4096 +[end0] + + +[threadgroup0] +num_threads=10 +read_weight=3 +write_weight=1 +append_weight=1 +write_random=1 +write_size=4096 +write_blocksize=4096 +read_size=4096 +read_blocksize=4096 +[end0] diff --git a/testcases/kernel/fs/ext4-new-features/ext4-ffsb-config/ffsb-config1 b/testcases/kernel/fs/ext4-new-features/ext4-ffsb-config/ffsb-config1 new file mode 100644 index 0000000..9fe820d --- /dev/null +++ b/testcases/kernel/fs/ext4-new-features/ext4-ffsb-config/ffsb-config1 @@ -0,0 +1,23 @@ +directio=1 +time=400 + +[filesystem0] +location=mnt_point +num_files=100000 +num_dirs=40 +max_filesize=4096 +min_filesize=4096 +[end0] + + +[threadgroup0] +num_threads=10 +read_weight=3 +write_weight=1 +append_weight=1 +write_random=1 +write_size=4096 +write_blocksize=4096 +read_size=4096 +read_blocksize=4096 +[end0] diff --git a/testcases/kernel/fs/ext4-new-features/ext4-ffsb-config/ffsb-config2 b/testcases/kernel/fs/ext4-new-features/ext4-ffsb-config/ffsb-config2 new file mode 100644 index 0000000..993fe14 --- /dev/null +++ b/testcases/kernel/fs/ext4-new-features/ext4-ffsb-config/ffsb-config2 @@ -0,0 +1,23 @@ +directio=0 +time=500 + +[filesystem0] +location=mnt_point +num_files=100000 +num_dirs=40 +max_filesize=20480 +min_filesize=4096 +[end0] + + +[threadgroup0] +num_threads=10 +read_weight=3 +write_weight=1 +append_weight=1 +write_random=1 +write_size=4096 +write_blocksize=4096 +read_size=4096 +read_blocksize=4096 +[end0] diff --git a/testcases/kernel/fs/ext4-new-features/ext4-ffsb-config/ffsb-config3 b/testcases/kernel/fs/ext4-new-features/ext4-ffsb-config/ffsb-config3 new file mode 100644 index 0000000..d95149d --- /dev/null +++ b/testcases/kernel/fs/ext4-new-features/ext4-ffsb-config/ffsb-config3 @@ -0,0 +1,29 @@ +directio=0 +time=0 + +[filesystem0] + location=mnt_point/ + num_files=1 + num_dirs=1 + max_filesize=409600 + min_filesize=40960 + agefs=1 + [threadgroup0] + num_threads=10 + write_size=409600 + write_blocksize=40960 + create_weight=10 + append_weight=10 + delete_weight=1 + [end0] + desired_util=0.20 +[end0] + +[threadgroup0] + num_threads=32 + read_weight=1 + + read_size=4096 + read_blocksize=4096 +[end0] + diff --git a/testcases/kernel/fs/ext4-new-features/ext4-ffsb-config/ffsb-config4 b/testcases/kernel/fs/ext4-new-features/ext4-ffsb-config/ffsb-config4 new file mode 100644 index 0000000..f1a432e --- /dev/null +++ b/testcases/kernel/fs/ext4-new-features/ext4-ffsb-config/ffsb-config4 @@ -0,0 +1,29 @@ +directio=0 +time=0 + +[filesystem0] + location=mnt_point/ + num_files=1 + num_dirs=1 + max_filesize=409600 + min_filesize=40960 + agefs=1 + [threadgroup0] + num_threads=10 + write_size=409600 + write_blocksize=40960 + create_weight=10 + append_weight=10 + delete_weight=1 + [end0] + desired_util=0.40 +[end0] + +[threadgroup0] + num_threads=32 + read_weight=1 + + read_size=4096 + read_blocksize=4096 +[end0] + diff --git a/testcases/kernel/fs/ext4-new-features/ext4-ffsb-config/ffsb-config5 b/testcases/kernel/fs/ext4-new-features/ext4-ffsb-config/ffsb-config5 new file mode 100644 index 0000000..758eded --- /dev/null +++ b/testcases/kernel/fs/ext4-new-features/ext4-ffsb-config/ffsb-config5 @@ -0,0 +1,29 @@ +directio=0 +time=0 + +[filesystem0] + location=mnt_point/ + num_files=1 + num_dirs=1 + max_filesize=409600 + min_filesize=40960 + agefs=1 + [threadgroup0] + num_threads=10 + write_size=409600 + write_blocksize=40960 + create_weight=10 + append_weight=10 + delete_weight=1 + [end0] + desired_util=0.60 +[end0] + +[threadgroup0] + num_threads=32 + read_weight=1 + + read_size=4096 + read_blocksize=4096 +[end0] + diff --git a/testcases/kernel/fs/ext4-new-features/ext4-ffsb-config/ffsb-config6 b/testcases/kernel/fs/ext4-new-features/ext4-ffsb-config/ffsb-config6 new file mode 100644 index 0000000..6592177 --- /dev/null +++ b/testcases/kernel/fs/ext4-new-features/ext4-ffsb-config/ffsb-config6 @@ -0,0 +1,29 @@ +directio=0 +time=0 + +[filesystem0] + location=mnt_point/ + num_files=1 + num_dirs=1 + max_filesize=409600 + min_filesize=40960 + agefs=1 + [threadgroup0] + num_threads=10 + write_size=409600 + write_blocksize=40960 + create_weight=10 + append_weight=10 + delete_weight=1 + [end0] + desired_util=0.80 +[end0] + +[threadgroup0] + num_threads=32 + read_weight=1 + + read_size=4096 + read_blocksize=4096 +[end0] + diff --git a/testcases/kernel/fs/ext4-new-features/ext4-ffsb-config/ffsb-config7 b/testcases/kernel/fs/ext4-new-features/ext4-ffsb-config/ffsb-config7 new file mode 100644 index 0000000..0f6df51 --- /dev/null +++ b/testcases/kernel/fs/ext4-new-features/ext4-ffsb-config/ffsb-config7 @@ -0,0 +1,29 @@ +directio=0 +time=0 + +[filesystem0] + location=mnt_point/ + num_files=1 + num_dirs=1 + max_filesize=409600 + min_filesize=40960 + agefs=1 + [threadgroup0] + num_threads=10 + write_size=409600 + write_blocksize=40960 + create_weight=10 + append_weight=10 + delete_weight=1 + [end0] + desired_util=1.00 +[end0] + +[threadgroup0] + num_threads=32 + read_weight=1 + + read_size=4096 + read_blocksize=4096 +[end0] + diff --git a/testcases/kernel/fs/ext4-new-features/ext4-inode-version/Makefile b/testcases/kernel/fs/ext4-new-features/ext4-inode-version/Makefile new file mode 100644 index 0000000..6b8aabb --- /dev/null +++ b/testcases/kernel/fs/ext4-new-features/ext4-inode-version/Makefile @@ -0,0 +1,25 @@ +# Copyright (C) 2009, FUJITSU LIMITED +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License along +# with this program; if not, write to the Free Software Foundation, Inc., +# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. +# + +top_srcdir ?= ../../../../.. + +include $(top_srcdir)/include/mk/testcases.mk + +LDLIBS += -lm +INSTALL_TARGETS ?= *.sh + +include $(top_srcdir)/include/mk/generic_leaf_target.mk diff --git a/testcases/kernel/fs/ext4-new-features/ext4-inode-version/ext4_get_inode_version.sh b/testcases/kernel/fs/ext4-new-features/ext4-inode-version/ext4_get_inode_version.sh new file mode 100755 index 0000000..8f5c907 --- /dev/null +++ b/testcases/kernel/fs/ext4-new-features/ext4-inode-version/ext4_get_inode_version.sh @@ -0,0 +1,41 @@ +#! /bin/bash + +################################################################################ +# # +# Copyright (c) 2009 FUJITSU LIMITED # +# # +# This program is free software; you can redistribute it and#or modify # +# it under the terms of the GNU General Public License as published by # +# the Free Software Foundation; either version 2 of the License, or # +# (at your option) any later version. # +# # +# This program is distributed in the hope that it will be useful, but # +# WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY # +# or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License # +# for more details. # +# # +# You should have received a copy of the GNU General Public License # +# along with this program; if not, write to the Free Software # +# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA # +# # +################################################################################ + +#$1: inode version of which file +#$2: 1 - return inode version by return value +# !1 - writting inode version to stddev + +inode_version=`debugfs -R "stat $1" $EXT4_DEV | grep 'Version' | awk '{ +print $NF }'` + +# The inode_version's format: '0x0000000a' or '0x00000000:0000000a', +# so delete ':' +inode_version=`echo $inode_version | sed 's/://'` + +inode_version=$(( $inode_version )) + +if [ "$2" == "1" ]; then + exit $inode_version +else + echo $inode_version +fi + diff --git a/testcases/kernel/fs/ext4-new-features/ext4-inode-version/ext4_inode_version_test.sh b/testcases/kernel/fs/ext4-new-features/ext4-inode-version/ext4_inode_version_test.sh new file mode 100755 index 0000000..f27248b --- /dev/null +++ b/testcases/kernel/fs/ext4-new-features/ext4-inode-version/ext4_inode_version_test.sh @@ -0,0 +1,205 @@ +#!/bin/bash + +################################################################################ +## ## +## Copyright (c) 2009 FUJITSU LIMITED ## +## ## +## This program is free software; you can redistribute it and#or modify ## +## it under the terms of the GNU General Public License as published by ## +## the Free Software Foundation; either version 2 of the License, or ## +## (at your option) any later version. ## +## ## +## This program is distributed in the hope that it will be useful, but ## +## WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY ## +## or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ## +## for more details. ## +## ## +## You should have received a copy of the GNU General Public License ## +## along with this program; if not, write to the Free Software ## +## Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA ## +## ## +## Author: Li Zefan <li...@cn...> ## +## Miao Xie <mi...@cn...> ## +## ## +################################################################################ + +cd $LTPROOT/testcases/bin + +. ./ext4_funcs.sh + +export TCID="ext4-inode-version" +export TST_TOTAL=8 +export TST_COUNT=1 + +export TEST_DIR=$PWD + +# $1: the test config +read_config $1 + +# Test that inode version is not 32 bits with 128 inode size +ext4_test_128_inode_version() +{ + tst_resm TINFO "Test inode version is 32 bits with 128 inode size" + + mkfs.ext4 -I 128 $EXT4_DEV > /dev/null + if [ $? -ne 0 ]; then + tst_resm TFAIL "failed to create ext4 filesystem" + return 1 + fi + + tune2fs -E test_fs -O extents $EXT4_DEV + + mount -t ext4 -o i_version $EXT4_DEV mnt_point + if [ $? -ne 0 ]; then + tst_resm TFAIL "failed to mount ext4 filesystem" + return 1 + fi + + # inode version > 0 + touch mnt_point/tmp_file + sync + version=`./ext4_get_inode_version.sh tmp_file` + + if [ $version -lt 1 ]; then + tst_resm TFAIL "inode version is smaller than 1" + umount mnt_point + return 1 + fi + + # inode version is 32 bits: 0x00000000 + version=`debugfs $EXT4_DEV -R "stat tmp_file" | grep 'Version'` + version=`echo $version | awk '{ print $NF }'` + version=`echo $version | sed 's/^0x//'` + len=${#version} + + if [ $len -ne 8 ]; then + tst_resm TFAIL "inode version is not 32 bits" + umount mnt_point + return 1 + fi + + umount mnt_point + if [ $? -ne 0 ]; then + tst_resm TFAIL "failed to umount ext4 filesystem" + return 1 + fi + + tst_resm TPASS "32 bits inode version with 128 inode size test pass" +} + +# Test file timestamps is nanosecond with 256 inode size +# $1: file operation +test_inode_version() +{ + mkfs.ext3 -I 256 $EXT4_DEV > /dev/null + if [ $? -ne 0 ]; then + tst_resm TFAIL "failed to create ext4 filesystem" + return 1 + fi + + tune2fs -E test_fs $EXT4_DEV > /dev/null + + mount -t ext4 -o i_version $EXT4_DEV mnt_point + if [ $? -ne 0 ]; then + tst_resm TFAIL "failed to mount ext4 filesystem" + return 1 + fi + + # Check the inode version after some file operation + old_version=`./ext4_test_inode_version $1 mnt_point/tmp_file tmp_file` + if [ $? -ne 0 ]; then + tst_resm TFAIL "inode version is wrong" + umount mnt_point + return 1 + fi + + umount mnt_point + if [ $? -ne 0 ]; then + tst_resm TFAIL "failed to umount ext4 filesystem" + return 1 + fi + + # Test mount to ext3 and then mount back to ext4 + mount -t ext3 $EXT4_DEV mnt_point + if [ $? -ne 0 ]; then + tst_resm TFAIL "failed to mount to ext3" + return 1 + fi + umount mnt_point + + mount -t ext4 $EXT4_DEV mnt_point + if [ $? -ne 0 ]; then + tst_resm TFAIL "failed to mount back to ext4" + return 1 + fi + + version=`./ext4_get_inode_version.sh tmp_file` +# echo "remount: old - $old_version" +# echo "remount: new - $version" + if [ $old_version -ne $version ]; then + tst_resm TFAIL "inode version has changed unexpected" + umount mnt_point + return 1 + else + tst_resm TPASS "inode version with 256 inode size test pass" + umount mnt_point + fi +} + +# main +ext4_setup + +RET=0 + +ext4_test_128_inode_version +if [ $? -ne 0 ]; then + RET=1 +fi +: $((TST_COUNT++)) + +test_inode_version create +if [ $? -ne 0 ]; then + RET=1 +fi +: $((TST_COUNT++)) + +test_inode_version chmod +if [ $? -ne 0 ]; then + RET=1 +fi +: $((TST_COUNT++)) + +test_inode_version chown +if [ $? -ne 0 ]; then + RET=1 +fi +: $((TST_COUNT++)) + +test_inode_version read +if [ $? -ne 0 ]; then + RET=1 +fi +: $((TST_COUNT++)) + +test_inode_version write +if [ $? -ne 0 ]; then + RET=1 +fi +: $((TST_COUNT++)) + +test_inode_version mmap_read +if [ $? -ne 0 ]; then + RET=1 +fi +: $((TST_COUNT++)) + +test_inode_version mmap_write +if [ $? -ne 0 ]; then + RET=1 +fi +: $((TST_COUNT++)) + +ext4_cleanup + +exit $RET + diff --git a/testcases/kernel/fs/ext4-new-features/ext4-inode-version/ext4_test_inode_version.c b/testcases/kernel/fs/ext4-new-features/ext4-inode-version/ext4_test_inode_version.c new file mode 100644 index 0000000..e9f3840 --- /dev/null +++ b/testcases/kernel/fs/ext4-new-features/ext4-inode-version/ext4_test_inode_version.c @@ -0,0 +1,219 @@ +/******************************************************************************/ +/* */ +/* Copyright (c) 2009 FUJITSU LIMITED */ +/* */ +/* This program is free software; you can redistribute it and/or modify */ +/* it under the terms of the GNU General Public License as published by */ +/* the Free Software Foundation; either version 2 of the License, or */ +/* (at your option) any later version. */ +/* */ +/* This program is distributed in the hope that it will be useful, */ +/* but WITHOUT ANY WARRANTY; without even the implied warranty of */ +/* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See */ +/* the GNU General Public License for more details. */ +/* */ +/* You should have received a copy of the GNU General Public License */ +/* along with this program; if not, write to the Free Software */ +/* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ +/* */ +/* Author: Li Zefan <li...@cn...> */ +/* */ +/******************************************************************************/ + +#include <unistd.h> +#include <wait.h> +#include <string.h> +#include <stdlib.h> +#include <stdio.h> +#include <fcntl.h> +#include <sys/types.h> +#include <sys/stat.h> +#include <sys/mman.h> + +char *filename; +char *filepath; +int fd; + +int old_inode_version; +int new_inode_version; + +int get_inode_version(void) +{ + char buf[1024]; + + sprintf(buf, "./ext4_get_inode_version.sh %s 1", filename); + + /* sync before run debugfs to get inode version */ + sync(); + + return WEXITSTATUS(system(buf)); +} + +void test_chmod(void) +{ + if (fchmod(fd, S_IRUSR | S_IWUSR)) { + fprintf(stderr, "fchmod failed\n"); + exit(1); + } +} + +void test_chown(void) +{ + if (fchown(fd, 1, 1)) { + fprintf(stderr, "fchown failed\n"); + exit(1); + } +} + +void test_read(void) +{ + char buf[2]; + + /* write something before read */ + if (write(fd, "abc", 4) == -1) { + perror("write"); + exit(1); + } + close(fd); + + if (open(filepath, O_RDONLY) == -1) { + perror("open"); + exit(1); + } + + old_inode_version = get_inode_version(); + + if (read(fd, buf, 1) == -1) { + perror("read"); + exit(1); + } +} + +void test_write(void) +{ + if (write(fd, "a", 1) == -1) { + fprintf(stderr, "write failed\n"); + exit(1); + } +} + +void test_mmap_read(void) +{ + char *p; + char c; + + /* write something before read */ + if (write(fd, "abc", 4) == -1) { + perror("write"); + exit(1); + } + close(fd); + + if (open(filepath, O_RDONLY) == -1) { + perror("open"); + exit(1); + } + + old_inode_version = get_inode_version(); + + p = mmap(NULL, 1, PROT_READ, MAP_PRIVATE | MAP_FILE, fd, 0); + if (p == (void *)-1) { + perror("mmap"); + exit(1); + } + c = *p; + + new_inode_version = get_inode_version(); + + msync(p, 1, MS_SYNC); +} + +void test_mmap_write(void) +{ + char *p; + + if (write(fd, "abc", 4) == -1) { + perror("write"); + exit(1); + } + close(fd); + + if (open(filepath, O_RDWR) == -1) { + perror("open"); + exit(1); + } + + old_inode_version = get_inode_version(); + + p = mmap(NULL, 1, PROT_WRITE, + MAP_PRIVATE | MAP_FILE, fd, 0); + if (p == (void *)-1) { + perror("mmap"); + exit(1); + } + *p = 'x'; + + new_inode_version = get_inode_version(); + + msync(p, 1, MS_SYNC); +} + +/** + * argv[1]: file operation + * argv[2]: file to test (with path) + * argv[3]: file to test (without path) + */ +int main(int argc, char *argv[]) +{ + if (argc != 4) { + fprintf(stderr, "wrong argument number\n"); + return 1; + } + filepath = argv[2]; + filename = argv[3]; + + /* create file and get the initial inode version */ + fd = creat(argv[2], O_RDWR); + if (fd == -1) { + fprintf(stderr, "failed to create file: %s\n", argv[2]); + return 1; + } + + old_inode_version = get_inode_version(); + + if (strcmp(argv[1], "create") == 0) { + printf("%d\n", old_inode_version); + return 0; + } else if (strcmp(argv[1], "chmod") == 0) { + test_chmod(); + } else if (strcmp(argv[1], "chown") == 0) { + test_chown(); + } else if (strcmp(argv[1], "read") == 0) { + test_read(); + } else if (strcmp(argv[1], "write") == 0) { + test_write(); + } else if (strcmp(argv[1], "mmap_read") == 0) { + test_mmap_read(); + } else if (strcmp(argv[1], "mmap_write") == 0) { + test_mmap_write(); + } else { + fprintf(stderr, "wrong file operation: %s\n", argv[1]); + return 1; + } + + new_inode_version = get_inode_version(); +#if 0 + fprintf(stderr, "test_inode_version: old - %d\n", old_inode_version); + fprintf(stderr, "test_inode_version: new - %d\n", new_inode_version); +#endif + /* wrong inode version, test failed */ + if (new_inode_version <= old_inode_version) + return 1; + + printf("%d\n", new_inode_version); + + close(fd); + + return 0; +} + diff --git a/testcases/kernel/fs/ext4-new-features/ext4-journal-checksum/Makefile b/testcases/kernel/fs/ext4-new-features/ext4-journal-checksum/Makefile new file mode 100644 index 0000000..1980349 --- /dev/null +++ b/testcases/kernel/fs/ext4-new-features/ext4-journal-checksum/Makefile @@ -0,0 +1,25 @@ +# Copyright (C) 2009, Fujitsu LIMITED +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License along +# with this program; if not, write to the Free Software Foundation, Inc., +# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. +# + +top_srcdir ?= ../../../../.. + +include $(top_srcdir)/include/mk/testcases.mk + +MAKE_TARGETS := +INSTALL_TARGETS ?= *.sh + +include $(top_srcdir)/include/mk/generic_leaf_target.mk diff --git a/testcases/kernel/fs/ext4-new-features/ext4-journal-checksum/ext4_journal_checksum.sh b/testcases/kernel/fs/ext4-new-features/ext4-journal-checksum/ext4_journal_checksum.sh new file mode 100755 index 0000000..550afa1 --- /dev/null +++ b/testcases/kernel/fs/ext4-new-features/ext4-journal-checksum/ext4_journal_checksum.sh @@ -0,0 +1,148 @@ +#!/bin/bash + +################################################################################ +## ## +## Copyright (c) 2009 FUJITSU LIMITED ## +## ## +## This program is free software; you can redistribute it and#or modify ## +## it under the terms of the GNU General Public License as published by ## +## the Free Software Foundation; either version 2 of the License, or ## +## (at your option) any later version. ## +## ## +## This program is distributed in the hope that it will be useful, but ## +## WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY ## +## or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ## +## for more details. ## +## ## +## You should have received a copy of the GNU General Public License ## +## along with this program; if not, write to the Free Software ## +## Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA ## +## ## +## Author: Li Zefan <li...@cn...> ## +## Miao Xie <mi...@cn...> ## +## ## +################################################################################ + +cd $LTPROOT/testcases/bin + +. ./ext4_funcs.sh + +export TCID="ext4-journal-checksum" +export TST_TOTAL=36 +export TST_COUNT=1 + +# $1: the test config + +export TEST_DIR=$PWD + +read_config $1 + +# Use ffsb to test journal checksumming +# $1: journal mode: writeback, ordered, journal +# $2: commit interval: 1 sec, 100 sec +# $3: journal_checksum or not +# $4: journal_async_commit or not +# $5: barrier: 0, 1 +ext4_test_journal_checksum() +{ + local checksum= + local async_commit= + + if [ "$3" == "" ]; then + checksum="No use" + else + checksum="Used" + fi + if [ "$4" == "" ]; then + async_commit="No use" + else + async_commit="Used" + fi + + tst_resm TINFO "journal mode: $1, commit interval: $2, \ + journal_checksum: $checksum, \ + journal_async_commit: $async_commit, barrier: $5" + + mkfs.ext4 -I 256 $EXT4_DEV > /dev/null + if [ $? -ne 0 ]; then + tst_resm TFAIL "failed to create ext4 filesystem" + return 1 + fi + + tune2fs -E test_fs -O extents $EXT4_DEV + + mount -t ext4 -o data=$1,commit=$2,$3,$4,barrier=$5 $EXT4_DEV mnt_point + if [ $? -ne 0 ]; then + tst_resm TFAIL "failed to mount ext4 filesystem" + return 1 + fi + + ./ffsb ffsb-config2 > /dev/null + if [ $? -ne 0 ]; then + tst_resm TFAIL "ffsb returned failure" + umount mnt_point + return 1 + fi + + umount mnt_point + if [ $? -ne 0 ]; then + tst_resm TFAIL "failed to umount ext4 filesystem" + return 1 + fi + + e2fsck -p $EXT4_DEV + if [ $? -ne 0 ]; then + tst_resm TFAIL "fsck returned failure" + return 1 + fi + + tst_resm TPASS "ext4 journal checksum test pass" +} + +# main +ext4_setup + +DATA=( "writeback" "ordered" "journal" ) +COMMIT=( 1 100 ) +JOURNAL_CHECKSUM=( "journal_checksum" "" ) +JOURNAL_ASYNC_COMMIT=( "journal_async_commit" "" ) +BARRIER=( 0 1 ) + +RET=0 + +for ((i = 0; i < 2; i++)) +{ + for ((j = 0; j < 2; j++)) + { + for ((k = 0; k < 2; k++)) + { + for ((l = 0; l < 2; l++)) + { + for ((m = 0; m < 3; m++)) + { + + # when journal_async_commit is used, + # journal_checksum is set automatically + if [ $j -eq 0 -a $k -eq 1 ]; then + continue + fi + + ext4_test_journal_checksum ${DATA[$m]} \ + ${COMMIT[$l]} \ + "${JOURNAL_CHECKSUM[$k]}" \ + "${JOURNAL_ASYNC_COMMIT[$j]}" \ + ${BARRIER[$i]} + if [ $? -ne 0 ]; then + RET=1 + fi + + : $((TST_COUNT++)) + } + } + } + } +} + +ext4_cleanup + +exit $RET diff --git a/testcases/kernel/fs/ext4-new-features/ext4-nsec-timestamps/Makefile b/testcases/kernel/fs/ext4-new-features/ext4-nsec-timestamps/Makefile new file mode 100644 index 0000000..6b8aabb --- /dev/null +++ b/testcases/kernel/fs/ext4-new-features/ext4-nsec-timestamps/Makefile @@ -0,0 +1,25 @@ +# Copyright (C) 2009, FUJITSU LIMITED +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License along +# with this program; if not, write to the Free Software Foundation, Inc., +# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. +# + +top_srcdir ?= ../../../../.. + +include $(top_srcdir)/include/mk/testcases.mk + +LDLIBS += -lm +INSTALL_TARGETS ?= *.sh + +include $(top_srcdir)/include/mk/generic_leaf_target.mk diff --git a/testcases/kernel/fs/ext4-new-features/ext4-nsec-timestamps/ext4_file_time.c b/testcases/kernel/fs/ext4-new-features/ext4-nsec-timestamps/ext4_file_time.c new file mode 100644 index 0000000..faa9383 --- /dev/null +++ b/testcases/kernel/fs/ext4-new-features/ext4-nsec-timestamps/ext4_file_time.c @@ -0,0 +1,70 @@ +/******************************************************************************/ +/* */ +/* Copyright (c) 2009 FUJITSU LIMITED */ +/* */ +/* This program is free software; you can redistribute it and/or modify */ +/* it under the terms of the GNU General Public License as published by */ +/* the Free Software Foundation; either version 2 of the License, or */ +/* (at your option) any later version. */ +/* */ +/* This program is distributed in the hope that it will be useful, */ +/* but WITHOUT ANY WARRANTY; without even the implied warranty of */ +/* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See */ +/* the GNU General Public License for more details. */ +/* */ +/* You should have received a copy of the GNU General Public License */ +/* along with this program; if not, write to the Free Software */ +/* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ +/* */ +/* Author: Li Zefan <... [truncated message content] |
From: Miao X. <mi...@cn...> - 2009-10-26 07:28:40
|
Hi, Mr.Subrata The patch that you made to fix the problem of ffsb was not merged into this patch. So if you want to run this testcases, you must applied your patch before compiling the testcases. Regards. Miao on 2009-10-26 16:12, Miao Xie wrote: > This is the patch of testcases for the ext4 new features test. > It contains multi-block alloc/delayed alloc test, inode version test, > journal checksumming test, nanosec timestamps test, online defrag test, > persist prealloc test, subdirectory limit test and uninit groups test > of ext4. > > In this test suite, there is two FAIL in the subdirectory limit test. > It is because we cann't create more than 32000 subdirectory when block > size is small, such as 1024, and the name of every subdirectory is very > long, such as every name is 255 bytes. I think it is the bug of the ext4. > > Note: Your MUST run configure in the directory > testcases/kernel/fs/ext4-new-features > to config the tool of ffsb, and specify a partition to be used for > test > before compiling the tool. The data on the specified partition > would be > DESTROYED. > > Signed-off-by: Miao Xie <mi...@cn...> |
From: Subrata M. <su...@li...> - 2009-10-26 08:29:54
|
On Mon, 2009-10-26 at 16:28 +0900, Miao Xie wrote: > Hi, Mr.Subrata > > The patch that you made to fix the problem of ffsb was not merged into > this patch. So if you want to run this testcases, you must applied your > patch before compiling the testcases. Sure. I will do that. Thanks for resending the patch so soon. I will make sure this is available in this monthś release. Regards-- Subrata > > Regards. > Miao > > on 2009-10-26 16:12, Miao Xie wrote: > > This is the patch of testcases for the ext4 new features test. > > It contains multi-block alloc/delayed alloc test, inode version test, > > journal checksumming test, nanosec timestamps test, online defrag test, > > persist prealloc test, subdirectory limit test and uninit groups test > > of ext4. > > > > In this test suite, there is two FAIL in the subdirectory limit test. > > It is because we cann't create more than 32000 subdirectory when block > > size is small, such as 1024, and the name of every subdirectory is very > > long, such as every name is 255 bytes. I think it is the bug of the ext4. > > > > Note: Your MUST run configure in the directory > > testcases/kernel/fs/ext4-new-features > > to config the tool of ffsb, and specify a partition to be used for > > test > > before compiling the tool. The data on the specified partition > > would be > > DESTROYED. > > > > Signed-off-by: Miao Xie <mi...@cn...> > > > > > ------------------------------------------------------------------------------ > Come build with us! The BlackBerry(R) Developer Conference in SF, CA > is the only developer event you need to attend this year. Jumpstart your > developing skills, take BlackBerry mobile applications to market and stay > ahead of the curve. Join us from November 9 - 12, 2009. Register now! > http://p.sf.net/sfu/devconference > _______________________________________________ > Ltp-list mailing list > Ltp...@li... > https://lists.sourceforge.net/lists/listinfo/ltp-list |
From: Subrata M. <su...@li...> - 2009-10-26 13:27:12
|
On Mon, 2009-10-26 at 16:28 +0900, Miao Xie wrote: > Hi, Mr.Subrata > > The patch that you made to fix the problem of ffsb was not merged into > this patch. So if you want to run this testcases, you must applied your > patch before compiling the testcases. > > Regards. > Miao > > on 2009-10-26 16:12, Miao Xie wrote: > > This is the patch of testcases for the ext4 new features test. > > It contains multi-block alloc/delayed alloc test, inode version test, > > journal checksumming test, nanosec timestamps test, online defrag test, > > persist prealloc test, subdirectory limit test and uninit groups test > > of ext4. > > > > In this test suite, there is two FAIL in the subdirectory limit test. > > It is because we cann't create more than 32000 subdirectory when block > > size is small, such as 1024, and the name of every subdirectory is very > > long, such as every name is 255 bytes. I think it is the bug of the ext4. > > > > Note: Your MUST run configure in the directory > > testcases/kernel/fs/ext4-new-features > > to config the tool of ffsb, and specify a partition to be used for > > test > > before compiling the tool. The data on the specified partition > > would be > > DESTROYED. > > > > Signed-off-by: Miao Xie <mi...@cn...> Thank you so much on making this effort to include the EXT4 test cases in LTP. We were actually long searching for such tests which will test only the specific features of EXT4. And now we have it. I have included your tests in LTP which is readily available now in LTP repository. I will soon send out a mail to some EXT4 experts regarding the sub-directory tests failure and get some opinion of them. Regards-- Subrata > > > > > ------------------------------------------------------------------------------ > Come build with us! The BlackBerry(R) Developer Conference in SF, CA > is the only developer event you need to attend this year. Jumpstart your > developing skills, take BlackBerry mobile applications to market and stay > ahead of the curve. Join us from November 9 - 12, 2009. Register now! > http://p.sf.net/sfu/devconference > _______________________________________________ > Ltp-list mailing list > Ltp...@li... > https://lists.sourceforge.net/lists/listinfo/ltp-list |
From: Subrata M. <su...@li...> - 2009-10-26 13:26:52
|
Hi Aneesh/Andreas, On Mon, 2009-10-26 at 16:12 +0900, Miao Xie wrote: > This is the patch of testcases for the ext4 new features test. > It contains multi-block alloc/delayed alloc test, inode version test, > journal checksumming test, nanosec timestamps test, online defrag test, > persist prealloc test, subdirectory limit test and uninit groups test > of ext4. > > In this test suite, there is two FAIL in the subdirectory limit test. > It is because we cann't create more than 32000 subdirectory when block > size is small, such as 1024, and the name of every subdirectory is very > long, such as every name is 255 bytes. I think it is the bug of the ext4. > > Note: Your MUST run configure in the directory > testcases/kernel/fs/ext4-new-features > to config the tool of ffsb, and specify a partition to be used for test > before compiling the tool. The data on the specified partition would be > DESTROYED. > > Signed-off-by: Miao Xie <mi...@cn...> We had recently added EXT4 testcases to LTP. As the author of these tests mentioned, we saw 2 such failures in subdirectory limit test: Ext4 subdir limit test ext4-subdir-limit 0 TINFO : Num of dirs to create: 65537, Dir name len: short name Parent dir: mnt_point, Block size: 1024 mke2fs 1.41.9 (22-Aug-2009) tune2fs 1.41.9 (22-Aug-2009) Setting test filesystem flag /dev/VG1_EXT4/LV1_EXT4: The test_fs flag is set (and ext4 is available). CLEARED. /dev/VG1_EXT4/LV1_EXT4: clean, 10/8847360 files, 2297019/141557760 blocks dumpe2fs 1.41.9 (22-Aug-2009) ext4-subdir-limit 1 TPASS : ext4 subdir limit test pass ext4-subdir-limit 0 TINFO : Num of dirs to create: 65537, Dir name len: long name Parent dir: mnt_point, Block size: 1024 mkdir: No space left on device ext4-subdir-limit 2 TFAIL : failed to create directories - 19524 ext4-subdir-limit 0 TINFO : Num of dirs to create: 65537, Dir name len: short name Parent dir: mnt_point/sub, Block size: 1024 mke2fs 1.41.9 (22-Aug-2009) tune2fs 1.41.9 (22-Aug-2009) Setting test filesystem flag /dev/VG1_EXT4/LV1_EXT4: The test_fs flag is set (and ext4 is available). CLEARED. /dev/VG1_EXT4/LV1_EXT4: clean, 12/8847360 files, 2297037/141557760 blocks dumpe2fs 1.41.9 (22-Aug-2009) ext4-subdir-limit 3 TPASS : ext4 subdir limit test pass ext4-subdir-limit 0 TINFO : Num of dirs to create: 65537, Dir name len: long name Parent dir: mnt_point/sub, Block size: 1024 mkdir: No space left on device ext4-subdir-limit 4 TFAIL : failed to create directories - 19483 ext4-subdir-limit 0 TINFO : Num of dirs to create: 65537, Dir name len: short name Parent dir: mnt_point, Block size: 2048 Is this a known issue for EXT4 ? We also uncovered that the tests gives a decent 50% lines and over 61% function coverage for EXT4 code. Please find the individual coverage under EXT4 attached. Following the various system information on which we ran the test: 1) uname -a Linux 2.6.31 #1 SMP Tue Oct 20 22:57:16 IST 2009 i686 i686 i386 GNU/Linux 2) grep -i ext4 .config CONFIG_EXT4_FS=m CONFIG_EXT4DEV_COMPAT=y CONFIG_EXT4_FS_XATTR=y CONFIG_EXT4_FS_POSIX_ACL=y CONFIG_EXT4_FS_SECURITY=y 3) mkfs.ext4 -V mke2fs 1.41.9 (22-Aug-2009) Using EXT2FS Library version 1.41.9 e2fsprogs-1.41.9 e2fsprogs-libs-1.41.9 4) LTP used: Unreleased CVS repository. See the URL below to download: http://ltp.sourceforge.net/documentation/how-to/ltp.php#_3.1, You can also also directly review the attached patch(which added this test cases): 26_10_2009-(Miao-Xie<mi...@cn...>)-Add_new_testcases_for_ext4_new_features_V3.patch.regenerated, 5) I used a single 680GB LVM partition to test this. Kindly let us know your thoughts on this failures. Regards-- Subrata > --- > README | 18 + > runtest/fs_ext4 | 1 + > testcases/kernel/fs/Makefile | 4 +- > testcases/kernel/fs/ext4-new-features/Makefile | 38 + > testcases/kernel/fs/ext4-new-features/README | 147 + > testcases/kernel/fs/ext4-new-features/configure | 23 + > .../ext4-delalloc-mballoc/Makefile | 25 + > .../ext4-delalloc-mballoc/ext4-alloc-test.sh | 167 + > .../fs/ext4-new-features/ext4-ffsb-config/Makefile | 25 + > .../ext4-ffsb-config/ffsb-config0 | 23 + > .../ext4-ffsb-config/ffsb-config1 | 23 + > .../ext4-ffsb-config/ffsb-config2 | 23 + > .../ext4-ffsb-config/ffsb-config3 | 29 + > .../ext4-ffsb-config/ffsb-config4 | 29 + > .../ext4-ffsb-config/ffsb-config5 | 29 + > .../ext4-ffsb-config/ffsb-config6 | 29 + > .../ext4-ffsb-config/ffsb-config7 | 29 + > .../ext4-new-features/ext4-inode-version/Makefile | 25 + > .../ext4-inode-version/ext4_get_inode_version.sh | 41 + > .../ext4-inode-version/ext4_inode_version_test.sh | 205 + > .../ext4-inode-version/ext4_test_inode_version.c | 219 + > .../ext4-journal-checksum/Makefile | 25 + > .../ext4-journal-checksum/ext4_journal_checksum.sh | 148 + > .../ext4-nsec-timestamps/Makefile | 25 + > .../ext4-nsec-timestamps/ext4_file_time.c | 70 + > .../ext4_nsec_timestamps_test.sh | 196 + > .../ext4-new-features/ext4-online-defrag/Makefile | 25 + > .../ext4-online-defrag/e4defrag.c | 2171 ++++++ > .../ext4-online-defrag/ext4_online_defrag_test.sh | 192 + > .../ext4-persist-prealloc/Makefile | 25 + > .../ext4_persist_prealloc_test.sh | 113 + > .../ext4-new-features/ext4-subdir-limit/Makefile | 25 + > .../ext4-subdir-limit/create_long_dirs.c | 156 + > .../ext4-subdir-limit/create_short_dirs.c | 158 + > .../ext4-subdir-limit/ext4_subdir_limit_test.sh | 167 + > .../ext4-new-features/ext4-uninit-groups/Makefile | 25 + > .../ext4-uninit-groups/ext4_uninit_groups_test.sh | 161 + > .../kernel/fs/ext4-new-features/ext4_funcs.sh | 47 + > .../fs/ext4-new-features/ffsb-6.0-rc2/AUTHORS | 7 + > .../fs/ext4-new-features/ffsb-6.0-rc2/COPYING | 340 + > .../fs/ext4-new-features/ffsb-6.0-rc2/INSTALL | 182 + > .../fs/ext4-new-features/ffsb-6.0-rc2/LICENSE | 347 + > .../fs/ext4-new-features/ffsb-6.0-rc2/Makefile.am | 46 + > .../fs/ext4-new-features/ffsb-6.0-rc2/Makefile.in | 628 ++ > .../fs/ext4-new-features/ffsb-6.0-rc2/README | 413 ++ > .../fs/ext4-new-features/ffsb-6.0-rc2/aclocal.m4 | 880 +++ > .../fs/ext4-new-features/ffsb-6.0-rc2/cirlist.c | 107 + > .../fs/ext4-new-features/ffsb-6.0-rc2/cirlist.h | 41 + > .../fs/ext4-new-features/ffsb-6.0-rc2/config.guess | 1450 ++++ > .../fs/ext4-new-features/ffsb-6.0-rc2/config.h.in | 130 + > .../fs/ext4-new-features/ffsb-6.0-rc2/config.sub | 1545 +++++ > .../fs/ext4-new-features/ffsb-6.0-rc2/configure | 7000 ++++++++++++++++++++ > .../fs/ext4-new-features/ffsb-6.0-rc2/configure.in | 49 + > .../fs/ext4-new-features/ffsb-6.0-rc2/depcomp | 472 ++ > .../ffsb-6.0-rc2/examples/profile_everything | 119 + > .../fs/ext4-new-features/ffsb-6.0-rc2/ffsb.h | 105 + > .../fs/ext4-new-features/ffsb-6.0-rc2/ffsb_fc.c | 112 + > .../fs/ext4-new-features/ffsb-6.0-rc2/ffsb_fs.c | 634 ++ > .../fs/ext4-new-features/ffsb-6.0-rc2/ffsb_fs.h | 184 + > .../fs/ext4-new-features/ffsb-6.0-rc2/ffsb_op.c | 178 + > .../fs/ext4-new-features/ffsb-6.0-rc2/ffsb_op.h | 102 + > .../fs/ext4-new-features/ffsb-6.0-rc2/ffsb_stats.c | 241 + > .../fs/ext4-new-features/ffsb-6.0-rc2/ffsb_stats.h | 109 + > .../fs/ext4-new-features/ffsb-6.0-rc2/ffsb_tg.c | 369 + > .../fs/ext4-new-features/ffsb-6.0-rc2/ffsb_tg.h | 206 + > .../ext4-new-features/ffsb-6.0-rc2/ffsb_thread.c | 171 + > .../ext4-new-features/ffsb-6.0-rc2/ffsb_thread.h | 108 + > .../kernel/fs/ext4-new-features/ffsb-6.0-rc2/fh.c | 278 + > .../kernel/fs/ext4-new-features/ffsb-6.0-rc2/fh.h | 41 + > .../fs/ext4-new-features/ffsb-6.0-rc2/filelist.c | 503 ++ > .../fs/ext4-new-features/ffsb-6.0-rc2/filelist.h | 145 + > .../fs/ext4-new-features/ffsb-6.0-rc2/fileops.c | 547 ++ > .../fs/ext4-new-features/ffsb-6.0-rc2/fileops.h | 51 + > .../fs/ext4-new-features/ffsb-6.0-rc2/install-sh | 250 + > .../fs/ext4-new-features/ffsb-6.0-rc2/list.c | 55 + > .../fs/ext4-new-features/ffsb-6.0-rc2/list.h | 53 + > .../fs/ext4-new-features/ffsb-6.0-rc2/main.c | 258 + > .../fs/ext4-new-features/ffsb-6.0-rc2/metaops.c | 112 + > .../fs/ext4-new-features/ffsb-6.0-rc2/metaops.h | 28 + > .../fs/ext4-new-features/ffsb-6.0-rc2/missing | 336 + > .../ext4-new-features/ffsb-6.0-rc2/mkinstalldirs | 40 + > .../fs/ext4-new-features/ffsb-6.0-rc2/parser.c | 1034 +++ > .../fs/ext4-new-features/ffsb-6.0-rc2/parser.h | 151 + > .../ffsb-6.0-rc2/public-description | 4 + > .../fs/ext4-new-features/ffsb-6.0-rc2/rand.c | 188 + > .../fs/ext4-new-features/ffsb-6.0-rc2/rand.h | 60 + > .../kernel/fs/ext4-new-features/ffsb-6.0-rc2/rbt.c | 1040 +++ > .../kernel/fs/ext4-new-features/ffsb-6.0-rc2/rbt.h | 316 + > .../ffsb-6.0-rc2/registration-description | 7 + > .../fs/ext4-new-features/ffsb-6.0-rc2/rwlock.c | 109 + > .../fs/ext4-new-features/ffsb-6.0-rc2/rwlock.h | 51 + > .../fs/ext4-new-features/ffsb-6.0-rc2/stamp-h.in | 1 + > .../fs/ext4-new-features/ffsb-6.0-rc2/util.c | 351 + > .../fs/ext4-new-features/ffsb-6.0-rc2/util.h | 94 + > .../kernel/fs/ext4-new-features/run_ext4_test.sh | 179 + > 95 files changed, 27437 insertions(+), 1 deletions(-) > create mode 100644 runtest/fs_ext4 > create mode 100644 testcases/kernel/fs/ext4-new-features/Makefile > create mode 100644 testcases/kernel/fs/ext4-new-features/README > create mode 100755 testcases/kernel/fs/ext4-new-features/configure > create mode 100644 testcases/kernel/fs/ext4-new-features/ext4-delalloc-mballoc/Makefile > create mode 100755 testcases/kernel/fs/ext4-new-features/ext4-delalloc-mballoc/ext4-alloc-test.sh > create mode 100644 testcases/kernel/fs/ext4-new-features/ext4-ffsb-config/Makefile > create mode 100644 testcases/kernel/fs/ext4-new-features/ext4-ffsb-config/ffsb-config0 > create mode 100644 testcases/kernel/fs/ext4-new-features/ext4-ffsb-config/ffsb-config1 > create mode 100644 testcases/kernel/fs/ext4-new-features/ext4-ffsb-config/ffsb-config2 > create mode 100644 testcases/kernel/fs/ext4-new-features/ext4-ffsb-config/ffsb-config3 > create mode 100644 testcases/kernel/fs/ext4-new-features/ext4-ffsb-config/ffsb-config4 > create mode 100644 testcases/kernel/fs/ext4-new-features/ext4-ffsb-config/ffsb-config5 > create mode 100644 testcases/kernel/fs/ext4-new-features/ext4-ffsb-config/ffsb-config6 > create mode 100644 testcases/kernel/fs/ext4-new-features/ext4-ffsb-config/ffsb-config7 > create mode 100644 testcases/kernel/fs/ext4-new-features/ext4-inode-version/Makefile > create mode 100755 testcases/kernel/fs/ext4-new-features/ext4-inode-version/ext4_get_inode_version.sh > create mode 100755 testcases/kernel/fs/ext4-new-features/ext4-inode-version/ext4_inode_version_test.sh > create mode 100644 testcases/kernel/fs/ext4-new-features/ext4-inode-version/ext4_test_inode_version.c > create mode 100644 testcases/kernel/fs/ext4-new-features/ext4-journal-checksum/Makefile > create mode 100755 testcases/kernel/fs/ext4-new-features/ext4-journal-checksum/ext4_journal_checksum.sh > create mode 100644 testcases/kernel/fs/ext4-new-features/ext4-nsec-timestamps/Makefile > create mode 100644 testcases/kernel/fs/ext4-new-features/ext4-nsec-timestamps/ext4_file_time.c > create mode 100755 testcases/kernel/fs/ext4-new-features/ext4-nsec-timestamps/ext4_nsec_timestamps_test.sh > create mode 100644 testcases/kernel/fs/ext4-new-features/ext4-online-defrag/Makefile > create mode 100644 testcases/kernel/fs/ext4-new-features/ext4-online-defrag/e4defrag.c > create mode 100755 testcases/kernel/fs/ext4-new-features/ext4-online-defrag/ext4_online_defrag_test.sh > create mode 100644 testcases/kernel/fs/ext4-new-features/ext4-persist-prealloc/Makefile > create mode 100755 testcases/kernel/fs/ext4-new-features/ext4-persist-prealloc/ext4_persist_prealloc_test.sh > create mode 100644 testcases/kernel/fs/ext4-new-features/ext4-subdir-limit/Makefile > create mode 100644 testcases/kernel/fs/ext4-new-features/ext4-subdir-limit/create_long_dirs.c > create mode 100644 testcases/kernel/fs/ext4-new-features/ext4-subdir-limit/create_short_dirs.c > create mode 100755 testcases/kernel/fs/ext4-new-features/ext4-subdir-limit/ext4_subdir_limit_test.sh > create mode 100644 testcases/kernel/fs/ext4-new-features/ext4-uninit-groups/Makefile > create mode 100755 testcases/kernel/fs/ext4-new-features/ext4-uninit-groups/ext4_uninit_groups_test.sh > create mode 100755 testcases/kernel/fs/ext4-new-features/ext4_funcs.sh > create mode 100644 testcases/kernel/fs/ext4-new-features/ffsb-6.0-rc2/AUTHORS > create mode 100644 testcases/kernel/fs/ext4-new-features/ffsb-6.0-rc2/COPYING > create mode 100644 testcases/kernel/fs/ext4-new-features/ffsb-6.0-rc2/INSTALL > create mode 100644 testcases/kernel/fs/ext4-new-features/ffsb-6.0-rc2/LICENSE > create mode 100644 testcases/kernel/fs/ext4-new-features/ffsb-6.0-rc2/Makefile.am > create mode 100644 testcases/kernel/fs/ext4-new-features/ffsb-6.0-rc2/Makefile.in > create mode 100644 testcases/kernel/fs/ext4-new-features/ffsb-6.0-rc2/README > create mode 100644 testcases/kernel/fs/ext4-new-features/ffsb-6.0-rc2/aclocal.m4 > create mode 100644 testcases/kernel/fs/ext4-new-features/ffsb-6.0-rc2/cirlist.c > create mode 100644 testcases/kernel/fs/ext4-new-features/ffsb-6.0-rc2/cirlist.h > create mode 100644 testcases/kernel/fs/ext4-new-features/ffsb-6.0-rc2/config.guess > create mode 100644 testcases/kernel/fs/ext4-new-features/ffsb-6.0-rc2/config.h.in > create mode 100644 testcases/kernel/fs/ext4-new-features/ffsb-6.0-rc2/config.sub > create mode 100644 testcases/kernel/fs/ext4-new-features/ffsb-6.0-rc2/configure > create mode 100644 testcases/kernel/fs/ext4-new-features/ffsb-6.0-rc2/configure.in > create mode 100644 testcases/kernel/fs/ext4-new-features/ffsb-6.0-rc2/depcomp > create mode 100644 testcases/kernel/fs/ext4-new-features/ffsb-6.0-rc2/examples/profile_everything > create mode 100644 testcases/kernel/fs/ext4-new-features/ffsb-6.0-rc2/ffsb.h > create mode 100644 testcases/kernel/fs/ext4-new-features/ffsb-6.0-rc2/ffsb_fc.c > create mode 100644 testcases/kernel/fs/ext4-new-features/ffsb-6.0-rc2/ffsb_fs.c > create mode 100644 testcases/kernel/fs/ext4-new-features/ffsb-6.0-rc2/ffsb_fs.h > create mode 100644 testcases/kernel/fs/ext4-new-features/ffsb-6.0-rc2/ffsb_op.c > create mode 100644 testcases/kernel/fs/ext4-new-features/ffsb-6.0-rc2/ffsb_op.h > create mode 100644 testcases/kernel/fs/ext4-new-features/ffsb-6.0-rc2/ffsb_stats.c > create mode 100644 testcases/kernel/fs/ext4-new-features/ffsb-6.0-rc2/ffsb_stats.h > create mode 100644 testcases/kernel/fs/ext4-new-features/ffsb-6.0-rc2/ffsb_tg.c > create mode 100644 testcases/kernel/fs/ext4-new-features/ffsb-6.0-rc2/ffsb_tg.h > create mode 100644 testcases/kernel/fs/ext4-new-features/ffsb-6.0-rc2/ffsb_thread.c > create mode 100644 testcases/kernel/fs/ext4-new-features/ffsb-6.0-rc2/ffsb_thread.h > create mode 100644 testcases/kernel/fs/ext4-new-features/ffsb-6.0-rc2/fh.c > create mode 100644 testcases/kernel/fs/ext4-new-features/ffsb-6.0-rc2/fh.h > create mode 100644 testcases/kernel/fs/ext4-new-features/ffsb-6.0-rc2/filelist.c > create mode 100644 testcases/kernel/fs/ext4-new-features/ffsb-6.0-rc2/filelist.h > create mode 100644 testcases/kernel/fs/ext4-new-features/ffsb-6.0-rc2/fileops.c > create mode 100644 testcases/kernel/fs/ext4-new-features/ffsb-6.0-rc2/fileops.h > create mode 100644 testcases/kernel/fs/ext4-new-features/ffsb-6.0-rc2/install-sh > create mode 100644 testcases/kernel/fs/ext4-new-features/ffsb-6.0-rc2/list.c > create mode 100644 testcases/kernel/fs/ext4-new-features/ffsb-6.0-rc2/list.h > create mode 100644 testcases/kernel/fs/ext4-new-features/ffsb-6.0-rc2/main.c > create mode 100644 testcases/kernel/fs/ext4-new-features/ffsb-6.0-rc2/metaops.c > create mode 100644 testcases/kernel/fs/ext4-new-features/ffsb-6.0-rc2/metaops.h > create mode 100644 testcases/kernel/fs/ext4-new-features/ffsb-6.0-rc2/missing > create mode 100644 testcases/kernel/fs/ext4-new-features/ffsb-6.0-rc2/mkinstalldirs > create mode 100644 testcases/kernel/fs/ext4-new-features/ffsb-6.0-rc2/parser.c > create mode 100644 testcases/kernel/fs/ext4-new-features/ffsb-6.0-rc2/parser.h > create mode 100644 testcases/kernel/fs/ext4-new-features/ffsb-6.0-rc2/public-description > create mode 100644 testcases/kernel/fs/ext4-new-features/ffsb-6.0-rc2/rand.c > create mode 100644 testcases/kernel/fs/ext4-new-features/ffsb-6.0-rc2/rand.h > create mode 100644 testcases/kernel/fs/ext4-new-features/ffsb-6.0-rc2/rbt.c > create mode 100644 testcases/kernel/fs/ext4-new-features/ffsb-6.0-rc2/rbt.h > create mode 100644 testcases/kernel/fs/ext4-new-features/ffsb-6.0-rc2/registration-description > create mode 100644 testcases/kernel/fs/ext4-new-features/ffsb-6.0-rc2/rwlock.c > create mode 100644 testcases/kernel/fs/ext4-new-features/ffsb-6.0-rc2/rwlock.h > create mode 100644 testcases/kernel/fs/ext4-new-features/ffsb-6.0-rc2/stamp-h.in > create mode 100644 testcases/kernel/fs/ext4-new-features/ffsb-6.0-rc2/util.c > create mode 100644 testcases/kernel/fs/ext4-new-features/ffsb-6.0-rc2/util.h > create mode 100755 testcases/kernel/fs/ext4-new-features/run_ext4_test.sh |
From: Andreas D. <ad...@su...> - 2009-10-26 22:18:15
|
On 2009-10-26, at 07:26, Subrata Modak wrote: > We had recently added EXT4 testcases to LTP. As the author of these > tests mentioned, we saw 2 such failures in subdirectory limit test: > > Ext4 subdir limit test > ext4-subdir-limit 0 TINFO : Num of dirs to create: 65537, Dir > name > len: short name Parent dir: mnt_point, Block > size: 1024 > mke2fs 1.41.9 (22-Aug-2009) > tune2fs 1.41.9 (22-Aug-2009) > Setting test filesystem flag > /dev/VG1_EXT4/LV1_EXT4: The test_fs flag is set (and ext4 is > available). > CLEARED. You don't need to set the test_fs flag for modern ext4. > /dev/VG1_EXT4/LV1_EXT4: clean, 10/8847360 files, 2297019/141557760 > blocks > dumpe2fs 1.41.9 (22-Aug-2009) > ext4-subdir-limit 1 TPASS : ext4 subdir limit test pass > ext4-subdir-limit 0 TINFO : Num of dirs to create: 65537, Dir > name > len: long name Parent dir: mnt_point, Block > size: 1024 > mkdir: No space left on device > ext4-subdir-limit 2 TFAIL : failed to create directories - 19524 > ext4-subdir-limit 0 TINFO : Num of dirs to create: 65537, Dir > name > len: short name Parent dir: mnt_point/sub, > Block > size: 1024 > mke2fs 1.41.9 (22-Aug-2009) > tune2fs 1.41.9 (22-Aug-2009) > Setting test filesystem flag > /dev/VG1_EXT4/LV1_EXT4: The test_fs flag is set (and ext4 is > available). > CLEARED. > /dev/VG1_EXT4/LV1_EXT4: clean, 12/8847360 files, 2297037/141557760 > blocks > dumpe2fs 1.41.9 (22-Aug-2009) > ext4-subdir-limit 3 TPASS : ext4 subdir limit test pass > ext4-subdir-limit 0 TINFO : Num of dirs to create: 65537, Dir > name > len: long name Parent dir: mnt_point/sub, > Block > size: 1024 > mkdir: No space left on device > ext4-subdir-limit 4 TFAIL : failed to create directories - 19483 > ext4-subdir-limit 0 TINFO : Num of dirs to create: 65537, Dir > name > len: short name Parent dir: mnt_point, Block > size: 2048 > > Is this a known issue for EXT4 ? Creating many long filenames (255 bytes) in a 1kB block filesystem is a known issue that is not expected to be fixed (at least I'm not aware of any work being done in this area). A vast majority of filesystems today are formatted with 4kB blocks (due to disk size) and the overhead of managing 1kB block filesystems makes these only marginally used, and it is also very rare to have applications with such large filenames. > We also uncovered that the tests gives a decent 50% lines and over 61% > function coverage for EXT4 code. Please find the individual coverage > under EXT4 attached. Interesting to see this. > Following the various system information on which we ran the test: > 1) uname -a > Linux 2.6.31 #1 SMP Tue Oct 20 22:57:16 IST 2009 i686 i686 i386 > GNU/Linux > > 2) grep -i ext4 .config > CONFIG_EXT4_FS=m > CONFIG_EXT4DEV_COMPAT=y > CONFIG_EXT4_FS_XATTR=y > CONFIG_EXT4_FS_POSIX_ACL=y > CONFIG_EXT4_FS_SECURITY=y > > 3) mkfs.ext4 -V > mke2fs 1.41.9 (22-Aug-2009) > Using EXT2FS Library version 1.41.9 > e2fsprogs-1.41.9 > e2fsprogs-libs-1.41.9 > > 4) LTP used: > Unreleased CVS repository. See the URL below to download: > http://ltp.sourceforge.net/documentation/how-to/ltp.php#_3.1, > > You can also also directly review the attached patch(which added this > test cases): > 26_10_2009-(Miao-Xie<mi...@cn...>)- > Add_new_testcases_for_ext4_new_features_V3.patch.regenerated, > > 5) I used a single 680GB LVM partition to test this. > > Kindly let us know your thoughts on this failures. Cheers, Andreas -- Andreas Dilger Sr. Staff Engineer, Lustre Group Sun Microsystems of Canada, Inc. |
From: Subrata M. <su...@li...> - 2009-10-27 13:56:34
|
Hi Andreas, Thanks for taking a look and clarifying the issues. On Mon, 2009-10-26 at 16:15 -0600, Andreas Dilger wrote: > On 2009-10-26, at 07:26, Subrata Modak wrote: > > We had recently added EXT4 testcases to LTP. As the author of these > > tests mentioned, we saw 2 such failures in subdirectory limit test: > > > > Ext4 subdir limit test > > ext4-subdir-limit 0 TINFO : Num of dirs to create: 65537, Dir > > name > > len: short name Parent dir: mnt_point, Block > > size: 1024 > > mke2fs 1.41.9 (22-Aug-2009) > > tune2fs 1.41.9 (22-Aug-2009) > > Setting test filesystem flag > > /dev/VG1_EXT4/LV1_EXT4: The test_fs flag is set (and ext4 is > > available). > > CLEARED. > > You don't need to set the test_fs flag for modern ext4. Miao, Can we change this ? > > > /dev/VG1_EXT4/LV1_EXT4: clean, 10/8847360 files, 2297019/141557760 > > blocks > > dumpe2fs 1.41.9 (22-Aug-2009) > > ext4-subdir-limit 1 TPASS : ext4 subdir limit test pass > > ext4-subdir-limit 0 TINFO : Num of dirs to create: 65537, Dir > > name > > len: long name Parent dir: mnt_point, Block > > size: 1024 > > mkdir: No space left on device > > ext4-subdir-limit 2 TFAIL : failed to create directories - 19524 > > ext4-subdir-limit 0 TINFO : Num of dirs to create: 65537, Dir > > name > > len: short name Parent dir: mnt_point/sub, > > Block > > size: 1024 > > mke2fs 1.41.9 (22-Aug-2009) > > tune2fs 1.41.9 (22-Aug-2009) > > Setting test filesystem flag > > /dev/VG1_EXT4/LV1_EXT4: The test_fs flag is set (and ext4 is > > available). > > CLEARED. > > /dev/VG1_EXT4/LV1_EXT4: clean, 12/8847360 files, 2297037/141557760 > > blocks > > dumpe2fs 1.41.9 (22-Aug-2009) > > ext4-subdir-limit 3 TPASS : ext4 subdir limit test pass > > ext4-subdir-limit 0 TINFO : Num of dirs to create: 65537, Dir > > name > > len: long name Parent dir: mnt_point/sub, > > Block > > size: 1024 > > mkdir: No space left on device > > ext4-subdir-limit 4 TFAIL : failed to create directories - 19483 > > ext4-subdir-limit 0 TINFO : Num of dirs to create: 65537, Dir > > name > > len: short name Parent dir: mnt_point, Block > > size: 2048 > > > > Is this a known issue for EXT4 ? > > Creating many long filenames (255 bytes) in a 1kB block filesystem is a > known issue that is not expected to be fixed (at least I'm not aware of > any work being done in this area). A vast majority of filesystems > today are formatted with 4kB blocks (due to disk size) and the > overhead of > managing 1kB block filesystems makes these only marginally used, and it > is also very rare to have applications with such large filenames. Ok. > > > We also uncovered that the tests gives a decent 50% lines and over 61% > > function coverage for EXT4 code. Please find the individual coverage > > under EXT4 attached. > > Interesting to see this. And the good news continues. I did a complete run of the tests this time. Unlike last time where it was running for more than 48 hours owing to huge FS size(680GB), i ran it on a small 135GB partition this time. It took around 40 hours completing the entire run which also include the online-defrag tests. Guess, the new Code Coverage results are: Lines: 56.1%, Functions: 66.4%, However, it is also accompanied by the following failures in the online-defrag part: ======================================================================================== ext4-online-defrag 0 TINFO : defrag type: 1, defrag obj: 3, block size: 1024 mke2fs 1.41.9 (22-Aug-2009) tune2fs 1.41.9 (22-Aug-2009) Setting test filesystem flag dumpe2fs 1.41.9 (22-Aug-2009) dumpe2fs 1.41.9 (22-Aug-2009) 69630819+0 records in 69630819+0 records out 71301958656 bytes (71 GB) copied, 2694.12 s, 26.5 MB/s ext4-online-defrag 3 TFAIL : e4defrag returned failure ext4-online-defrag 0 TINFO : defrag type: 2, defrag obj: 1, block size: 1024 mke2fs 1.41.9 (22-Aug-2009) tune2fs 1.41.9 (22-Aug-2009) ... ext4-online-defrag 0 TINFO : defrag type: 2, defrag obj: 3, block size: 1024 mke2fs 1.41.9 (22-Aug-2009) tune2fs 1.41.9 (22-Aug-2009) Setting test filesystem flag dumpe2fs 1.41.9 (22-Aug-2009) dumpe2fs 1.41.9 (22-Aug-2009) 69630819+0 records in 69630819+0 records out 71301958656 bytes (71 GB) copied, 2623.31 s, 27.2 MB/s ext4-online-defrag 6 TFAIL : e4defrag returned failure ext4-online-defrag 0 TINFO : defrag type: 3, defrag obj: 1, block size: 1024 mke2fs 1.41.9 (22-Aug-2009) tune2fs 1.41.9 (22-Aug-2009) Setting test filesystem flag File is not regular file "/dev/VG1_EXT4/LV1_EXT4" ext4-online-defrag 7 TFAIL : e4defrag returned failure ext4-online-defrag 0 TINFO : defrag type: 3, defrag obj: 2, block size: 1024 mke2fs 1.41.9 (22-Aug-2009) tune2fs 1.41.9 (22-Aug-2009) Setting test filesystem flag 40+0 records in 40+0 records out 41943040 bytes (42 MB) copied, 0.737014 s, 56.9 MB/s write: Success Filesystem 1K-blocks Used Available Use% Mounted on /dev/sda1 25798712 10581072 13907140 44% / udev 1028576 152 1028424 1% /dev /dev/sda2 4127108 126572 3790888 4% /boot /dev/mapper/VG_EXT3_TO_EXT4_MIGRATION_TEST1-LV_EXT3_TO_EXT4_MIGRATION_TEST2 10321208 154100 9642820 2% /MY_EXT4 /dev/mapper/VG_EXT3_TO_EXT4_MIGRATION_TEST1-LV_EXT3_TO_EXT4_MIGRATION_TEST1 10321208 154232 9642688 2% /MY_EXT3 /dev/mapper/VG1_EXT4-LV1_EXT4 139299998 139259037 40961 100% /root/subrata/ltp/ltp-full-20090930/testcases/bin/mnt_point File is not regular file "/dev/VG1_EXT4/LV1_EXT4" ext4-online-defrag 8 TFAIL : e4defrag returned failure ext4-online-defrag 0 TINFO : defrag type: 3, defrag obj: 3, block size: 1024 mke2fs 1.41.9 (22-Aug-2009) tune2fs 1.41.9 (22-Aug-2009) Setting test filesystem flag dumpe2fs 1.41.9 (22-Aug-2009) dumpe2fs 1.41.9 (22-Aug-2009) 69630819+0 records in 69630819+0 records out 71301958656 bytes (71 GB) copied, 2544.39 s, 28.0 MB/s File is not regular file "/dev/VG1_EXT4/LV1_EXT4" ext4-online-defrag 9 TFAIL : e4defrag returned failure ... ext4-online-defrag 0 TINFO : defrag type: 3, defrag obj: 2, block size: 4096 mke2fs 1.41.9 (22-Aug-2009) tune2fs 1.41.9 (22-Aug-2009) Setting test filesystem flag 40+0 records in 40+0 records out 41943040 bytes (42 MB) copied, 0.306366 s, 137 MB/s write: Success write: Success write: Success write: Success write: Success Filesystem 1K-blocks Used Available Use% Mounted on /dev/sda1 25798712 11441524 13046688 47% / udev 1028576 152 1028424 1% /dev /dev/sda2 4127108 126572 3790888 4% /boot /dev/mapper/VG_EXT3_TO_EXT4_MIGRATION_TEST1-LV_EXT3_TO_EXT4_MIGRATION_TEST2 10321208 154100 9642820 2% /MY_EXT4 /dev/mapper/VG_EXT3_TO_EXT4_MIGRATION_TEST1-LV_EXT3_TO_EXT4_MIGRATION_TEST1 10321208 154232 9642688 2% /MY_EXT3 /dev/mapper/VG1_EXT4-LV1_EXT4 139336680 139295720 40960 100% /root/subrata/ltp/ltp-full-20090930/testcases/bin/mnt_point File is not regular file "/dev/VG1_EXT4/LV1_EXT4" ext4-online-defrag 17 TFAIL : e4defrag returned failure ext4-online-defrag 0 TINFO : defrag type: 3, defrag obj: 3, block size: 4096 mke2fs 1.41.9 (22-Aug-2009) tune2fs 1.41.9 (22-Aug-2009) Setting test filesystem flag dumpe2fs 1.41.9 (22-Aug-2009) dumpe2fs 1.41.9 (22-Aug-2009) 17392985+0 records in 17392985+0 records out 71241666560 bytes (71 GB) copied, 1019.79 s, 69.9 MB/s File is not regular file "/dev/VG1_EXT4/LV1_EXT4" ext4-online-defrag 18 TFAIL : e4defrag returned failure incrementing stop ======================================================================================== Miao, Did you see these failure on your machine ? Some more points are: 1. Can you please run these tests against the backdrop of the Makefile changes in LTP to see all the build/install/run are executing fine, 2. Can you also please put all the utilities version info at the beginning of the test rather than printing them again and again(like mke2fs 1.41.9 (22-Aug-2009),tune2fs 1.41.9 (22-Aug-2009),dumpe2fs 1.41.9 (22-Aug-2009),dumpe2fs 1.41.9 (22-Aug-2009)) Regards-- Subrata > > > Following the various system information on which we ran the test: > > 1) uname -a > > Linux 2.6.31 #1 SMP Tue Oct 20 22:57:16 IST 2009 i686 i686 i386 > > GNU/Linux > > > > 2) grep -i ext4 .config > > CONFIG_EXT4_FS=m > > CONFIG_EXT4DEV_COMPAT=y > > CONFIG_EXT4_FS_XATTR=y > > CONFIG_EXT4_FS_POSIX_ACL=y > > CONFIG_EXT4_FS_SECURITY=y > > > > 3) mkfs.ext4 -V > > mke2fs 1.41.9 (22-Aug-2009) > > Using EXT2FS Library version 1.41.9 > > e2fsprogs-1.41.9 > > e2fsprogs-libs-1.41.9 > > > > 4) LTP used: > > Unreleased CVS repository. See the URL below to download: > > http://ltp.sourceforge.net/documentation/how-to/ltp.php#_3.1, > > > > You can also also directly review the attached patch(which added this > > test cases): > > 26_10_2009-(Miao-Xie<mi...@cn...>)- > > Add_new_testcases_for_ext4_new_features_V3.patch.regenerated, > > > > 5) I used a single 680GB LVM partition to test this. > > > > Kindly let us know your thoughts on this failures. > > Cheers, Andreas > -- > Andreas Dilger > Sr. Staff Engineer, Lustre Group > Sun Microsystems of Canada, Inc. > |
From: Subrata M. <su...@li...> - 2009-10-29 18:32:21
|
Miao, On Tue, 2009-10-27 at 19:05 +0530, Subrata Modak wrote: > Hi Andreas, > > Thanks for taking a look and clarifying the issues. > > On Mon, 2009-10-26 at 16:15 -0600, Andreas Dilger wrote: > > On 2009-10-26, at 07:26, Subrata Modak wrote: > > > We had recently added EXT4 testcases to LTP. As the author of these > > > tests mentioned, we saw 2 such failures in subdirectory limit test: > > > > > > Ext4 subdir limit test > > > ext4-subdir-limit 0 TINFO : Num of dirs to create: 65537, Dir > > > name > > > len: short name Parent dir: mnt_point, Block > > > size: 1024 > > > mke2fs 1.41.9 (22-Aug-2009) > > > tune2fs 1.41.9 (22-Aug-2009) > > > Setting test filesystem flag > > > /dev/VG1_EXT4/LV1_EXT4: The test_fs flag is set (and ext4 is > > > available). > > > CLEARED. > > > > You don't need to set the test_fs flag for modern ext4. > > Miao, > > Can we change this ? > > > > > > /dev/VG1_EXT4/LV1_EXT4: clean, 10/8847360 files, 2297019/141557760 > > > blocks > > > dumpe2fs 1.41.9 (22-Aug-2009) > > > ext4-subdir-limit 1 TPASS : ext4 subdir limit test pass > > > ext4-subdir-limit 0 TINFO : Num of dirs to create: 65537, Dir > > > name > > > len: long name Parent dir: mnt_point, Block > > > size: 1024 > > > mkdir: No space left on device > > > ext4-subdir-limit 2 TFAIL : failed to create directories - 19524 > > > ext4-subdir-limit 0 TINFO : Num of dirs to create: 65537, Dir > > > name > > > len: short name Parent dir: mnt_point/sub, > > > Block > > > size: 1024 > > > mke2fs 1.41.9 (22-Aug-2009) > > > tune2fs 1.41.9 (22-Aug-2009) > > > Setting test filesystem flag > > > /dev/VG1_EXT4/LV1_EXT4: The test_fs flag is set (and ext4 is > > > available). > > > CLEARED. > > > /dev/VG1_EXT4/LV1_EXT4: clean, 12/8847360 files, 2297037/141557760 > > > blocks > > > dumpe2fs 1.41.9 (22-Aug-2009) > > > ext4-subdir-limit 3 TPASS : ext4 subdir limit test pass > > > ext4-subdir-limit 0 TINFO : Num of dirs to create: 65537, Dir > > > name > > > len: long name Parent dir: mnt_point/sub, > > > Block > > > size: 1024 > > > mkdir: No space left on device > > > ext4-subdir-limit 4 TFAIL : failed to create directories - 19483 > > > ext4-subdir-limit 0 TINFO : Num of dirs to create: 65537, Dir > > > name > > > len: short name Parent dir: mnt_point, Block > > > size: 2048 > > > > > > Is this a known issue for EXT4 ? > > > > Creating many long filenames (255 bytes) in a 1kB block filesystem is a > > known issue that is not expected to be fixed (at least I'm not aware of > > any work being done in this area). A vast majority of filesystems > > today are formatted with 4kB blocks (due to disk size) and the > > overhead of > > managing 1kB block filesystems makes these only marginally used, and it > > is also very rare to have applications with such large filenames. > > Ok. > > > > > > We also uncovered that the tests gives a decent 50% lines and over 61% > > > function coverage for EXT4 code. Please find the individual coverage > > > under EXT4 attached. > > > > Interesting to see this. > > And the good news continues. I did a complete run of the tests this > time. Unlike last time where it was running for more than 48 hours owing > to huge FS size(680GB), i ran it on a small 135GB partition this time. > It took around 40 hours completing the entire run which also include the > online-defrag tests. Guess, the new Code Coverage results are: > > Lines: 56.1%, > Functions: 66.4%, > > However, it is also accompanied by the following failures in the online-defrag part: > ======================================================================================== > ext4-online-defrag 0 TINFO : defrag type: 1, defrag obj: 3, block size: 1024 > mke2fs 1.41.9 (22-Aug-2009) > tune2fs 1.41.9 (22-Aug-2009) > Setting test filesystem flag > dumpe2fs 1.41.9 (22-Aug-2009) > dumpe2fs 1.41.9 (22-Aug-2009) > 69630819+0 records in > 69630819+0 records out > 71301958656 bytes (71 GB) copied, 2694.12 s, 26.5 MB/s > ext4-online-defrag 3 TFAIL : e4defrag returned failure > ext4-online-defrag 0 TINFO : defrag type: 2, defrag obj: 1, block size: 1024 > mke2fs 1.41.9 (22-Aug-2009) > tune2fs 1.41.9 (22-Aug-2009) > ... > ext4-online-defrag 0 TINFO : defrag type: 2, defrag obj: 3, block size: 1024 > mke2fs 1.41.9 (22-Aug-2009) > tune2fs 1.41.9 (22-Aug-2009) > Setting test filesystem flag > dumpe2fs 1.41.9 (22-Aug-2009) > dumpe2fs 1.41.9 (22-Aug-2009) > 69630819+0 records in > 69630819+0 records out > 71301958656 bytes (71 GB) copied, 2623.31 s, 27.2 MB/s > ext4-online-defrag 6 TFAIL : e4defrag returned failure > ext4-online-defrag 0 TINFO : defrag type: 3, defrag obj: 1, block size: 1024 > mke2fs 1.41.9 (22-Aug-2009) > tune2fs 1.41.9 (22-Aug-2009) > Setting test filesystem flag > File is not regular file > "/dev/VG1_EXT4/LV1_EXT4" > ext4-online-defrag 7 TFAIL : e4defrag returned failure > ext4-online-defrag 0 TINFO : defrag type: 3, defrag obj: 2, block size: 1024 > mke2fs 1.41.9 (22-Aug-2009) > tune2fs 1.41.9 (22-Aug-2009) > Setting test filesystem flag > 40+0 records in > 40+0 records out > 41943040 bytes (42 MB) copied, 0.737014 s, 56.9 MB/s > write: Success > Filesystem 1K-blocks Used Available Use% Mounted on > /dev/sda1 25798712 10581072 13907140 44% / > udev 1028576 152 1028424 1% /dev > /dev/sda2 4127108 126572 3790888 4% /boot > /dev/mapper/VG_EXT3_TO_EXT4_MIGRATION_TEST1-LV_EXT3_TO_EXT4_MIGRATION_TEST2 > 10321208 154100 9642820 2% /MY_EXT4 > /dev/mapper/VG_EXT3_TO_EXT4_MIGRATION_TEST1-LV_EXT3_TO_EXT4_MIGRATION_TEST1 > 10321208 154232 9642688 2% /MY_EXT3 > /dev/mapper/VG1_EXT4-LV1_EXT4 > 139299998 139259037 40961 100% /root/subrata/ltp/ltp-full-20090930/testcases/bin/mnt_point > File is not regular file > "/dev/VG1_EXT4/LV1_EXT4" > ext4-online-defrag 8 TFAIL : e4defrag returned failure > ext4-online-defrag 0 TINFO : defrag type: 3, defrag obj: 3, block size: 1024 > mke2fs 1.41.9 (22-Aug-2009) > tune2fs 1.41.9 (22-Aug-2009) > Setting test filesystem flag > dumpe2fs 1.41.9 (22-Aug-2009) > dumpe2fs 1.41.9 (22-Aug-2009) > 69630819+0 records in > 69630819+0 records out > 71301958656 bytes (71 GB) copied, 2544.39 s, 28.0 MB/s > File is not regular file > "/dev/VG1_EXT4/LV1_EXT4" > ext4-online-defrag 9 TFAIL : e4defrag returned failure > ... > ext4-online-defrag 0 TINFO : defrag type: 3, defrag obj: 2, block size: 4096 > mke2fs 1.41.9 (22-Aug-2009) > tune2fs 1.41.9 (22-Aug-2009) > Setting test filesystem flag > 40+0 records in > 40+0 records out > 41943040 bytes (42 MB) copied, 0.306366 s, 137 MB/s > write: Success > write: Success > write: Success > write: Success > write: Success > Filesystem 1K-blocks Used Available Use% Mounted on > /dev/sda1 25798712 11441524 13046688 47% / > udev 1028576 152 1028424 1% /dev > /dev/sda2 4127108 126572 3790888 4% /boot > /dev/mapper/VG_EXT3_TO_EXT4_MIGRATION_TEST1-LV_EXT3_TO_EXT4_MIGRATION_TEST2 > 10321208 154100 9642820 2% /MY_EXT4 > /dev/mapper/VG_EXT3_TO_EXT4_MIGRATION_TEST1-LV_EXT3_TO_EXT4_MIGRATION_TEST1 > 10321208 154232 9642688 2% /MY_EXT3 > /dev/mapper/VG1_EXT4-LV1_EXT4 > 139336680 139295720 40960 100% /root/subrata/ltp/ltp-full-20090930/testcases/bin/mnt_point > File is not regular file > "/dev/VG1_EXT4/LV1_EXT4" > ext4-online-defrag 17 TFAIL : e4defrag returned failure > ext4-online-defrag 0 TINFO : defrag type: 3, defrag obj: 3, block size: 4096 > mke2fs 1.41.9 (22-Aug-2009) > tune2fs 1.41.9 (22-Aug-2009) > Setting test filesystem flag > dumpe2fs 1.41.9 (22-Aug-2009) > dumpe2fs 1.41.9 (22-Aug-2009) > 17392985+0 records in > 17392985+0 records out > 71241666560 bytes (71 GB) copied, 1019.79 s, 69.9 MB/s > File is not regular file > "/dev/VG1_EXT4/LV1_EXT4" > ext4-online-defrag 18 TFAIL : e4defrag returned failure > incrementing stop > ======================================================================================== > > Miao, > > Did you see these failure on your machine ? Your take on this ? > Some more points are: > > 1. Can you please run these tests against the backdrop of the > Makefile changes in LTP to see all the build/install/run are > executing fine, Could you please verify this before this release. Let me know a patch if you find any discrepancy :-) > 2. Can you also please put all the utilities version info at the > beginning of the test rather than printing them again and > again(like mke2fs 1.41.9 (22-Aug-2009),tune2fs 1.41.9 > (22-Aug-2009),dumpe2fs 1.41.9 (22-Aug-2009),dumpe2fs 1.41.9 > (22-Aug-2009)) This can go in the next month release as well, if you do not have time to fix now. Else, i have a bug mouth to eat this as well ;-) Regards-- Subrata > > Regards-- > Subrata > > > > > > Following the various system information on which we ran the test: > > > 1) uname -a > > > Linux 2.6.31 #1 SMP Tue Oct 20 22:57:16 IST 2009 i686 i686 i386 > > > GNU/Linux > > > > > > 2) grep -i ext4 .config > > > CONFIG_EXT4_FS=m > > > CONFIG_EXT4DEV_COMPAT=y > > > CONFIG_EXT4_FS_XATTR=y > > > CONFIG_EXT4_FS_POSIX_ACL=y > > > CONFIG_EXT4_FS_SECURITY=y > > > > > > 3) mkfs.ext4 -V > > > mke2fs 1.41.9 (22-Aug-2009) > > > Using EXT2FS Library version 1.41.9 > > > e2fsprogs-1.41.9 > > > e2fsprogs-libs-1.41.9 > > > > > > 4) LTP used: > > > Unreleased CVS repository. See the URL below to download: > > > http://ltp.sourceforge.net/documentation/how-to/ltp.php#_3.1, > > > > > > You can also also directly review the attached patch(which added this > > > test cases): > > > 26_10_2009-(Miao-Xie<mi...@cn...>)- > > > Add_new_testcases_for_ext4_new_features_V3.patch.regenerated, > > > > > > 5) I used a single 680GB LVM partition to test this. > > > > > > Kindly let us know your thoughts on this failures. > > > > Cheers, Andreas > > -- > > Andreas Dilger > > Sr. Staff Engineer, Lustre Group > > Sun Microsystems of Canada, Inc. > > > ------------------------------------------------------------------------------ > Come build with us! The BlackBerry(R) Developer Conference in SF, CA > is the only developer event you need to attend this year. Jumpstart your > developing skills, take BlackBerry mobile applications to market and stay > ahead of the curve. Join us from November 9 - 12, 2009. Register now! > http://p.sf.net/sfu/devconference > _______________________________________________ Ltp-list mailing list Ltp...@li... https://lists.sourceforge.net/lists/listinfo/ltp-list |
From: Subrata M. <su...@li...> - 2009-11-02 13:59:43
|
Miao, Now that a new release has gone, can you please look in to whether the things execute as you expected ? Regards-- Subrata On Fri, 2009-10-30 at 00:01 +0530, Subrata Modak wrote: > Miao, > > On Tue, 2009-10-27 at 19:05 +0530, Subrata Modak wrote: > > Hi Andreas, > > > > Thanks for taking a look and clarifying the issues. > > > > On Mon, 2009-10-26 at 16:15 -0600, Andreas Dilger wrote: > > > On 2009-10-26, at 07:26, Subrata Modak wrote: > > > > We had recently added EXT4 testcases to LTP. As the author of these > > > > tests mentioned, we saw 2 such failures in subdirectory limit test: > > > > > > > > Ext4 subdir limit test > > > > ext4-subdir-limit 0 TINFO : Num of dirs to create: 65537, Dir > > > > name > > > > len: short name Parent dir: mnt_point, Block > > > > size: 1024 > > > > mke2fs 1.41.9 (22-Aug-2009) > > > > tune2fs 1.41.9 (22-Aug-2009) > > > > Setting test filesystem flag > > > > /dev/VG1_EXT4/LV1_EXT4: The test_fs flag is set (and ext4 is > > > > available). > > > > CLEARED. > > > > > > You don't need to set the test_fs flag for modern ext4. > > > > Miao, > > > > Can we change this ? > > > > > > > > > /dev/VG1_EXT4/LV1_EXT4: clean, 10/8847360 files, 2297019/141557760 > > > > blocks > > > > dumpe2fs 1.41.9 (22-Aug-2009) > > > > ext4-subdir-limit 1 TPASS : ext4 subdir limit test pass > > > > ext4-subdir-limit 0 TINFO : Num of dirs to create: 65537, Dir > > > > name > > > > len: long name Parent dir: mnt_point, Block > > > > size: 1024 > > > > mkdir: No space left on device > > > > ext4-subdir-limit 2 TFAIL : failed to create directories - 19524 > > > > ext4-subdir-limit 0 TINFO : Num of dirs to create: 65537, Dir > > > > name > > > > len: short name Parent dir: mnt_point/sub, > > > > Block > > > > size: 1024 > > > > mke2fs 1.41.9 (22-Aug-2009) > > > > tune2fs 1.41.9 (22-Aug-2009) > > > > Setting test filesystem flag > > > > /dev/VG1_EXT4/LV1_EXT4: The test_fs flag is set (and ext4 is > > > > available). > > > > CLEARED. > > > > /dev/VG1_EXT4/LV1_EXT4: clean, 12/8847360 files, 2297037/141557760 > > > > blocks > > > > dumpe2fs 1.41.9 (22-Aug-2009) > > > > ext4-subdir-limit 3 TPASS : ext4 subdir limit test pass > > > > ext4-subdir-limit 0 TINFO : Num of dirs to create: 65537, Dir > > > > name > > > > len: long name Parent dir: mnt_point/sub, > > > > Block > > > > size: 1024 > > > > mkdir: No space left on device > > > > ext4-subdir-limit 4 TFAIL : failed to create directories - 19483 > > > > ext4-subdir-limit 0 TINFO : Num of dirs to create: 65537, Dir > > > > name > > > > len: short name Parent dir: mnt_point, Block > > > > size: 2048 > > > > > > > > Is this a known issue for EXT4 ? > > > > > > Creating many long filenames (255 bytes) in a 1kB block filesystem is a > > > known issue that is not expected to be fixed (at least I'm not aware of > > > any work being done in this area). A vast majority of filesystems > > > today are formatted with 4kB blocks (due to disk size) and the > > > overhead of > > > managing 1kB block filesystems makes these only marginally used, and it > > > is also very rare to have applications with such large filenames. > > > > Ok. > > > > > > > > > We also uncovered that the tests gives a decent 50% lines and over 61% > > > > function coverage for EXT4 code. Please find the individual coverage > > > > under EXT4 attached. > > > > > > Interesting to see this. > > > > And the good news continues. I did a complete run of the tests this > > time. Unlike last time where it was running for more than 48 hours owing > > to huge FS size(680GB), i ran it on a small 135GB partition this time. > > It took around 40 hours completing the entire run which also include the > > online-defrag tests. Guess, the new Code Coverage results are: > > > > Lines: 56.1%, > > Functions: 66.4%, > > > > However, it is also accompanied by the following failures in the online-defrag part: > > ======================================================================================== > > ext4-online-defrag 0 TINFO : defrag type: 1, defrag obj: 3, block size: 1024 > > mke2fs 1.41.9 (22-Aug-2009) > > tune2fs 1.41.9 (22-Aug-2009) > > Setting test filesystem flag > > dumpe2fs 1.41.9 (22-Aug-2009) > > dumpe2fs 1.41.9 (22-Aug-2009) > > 69630819+0 records in > > 69630819+0 records out > > 71301958656 bytes (71 GB) copied, 2694.12 s, 26.5 MB/s > > ext4-online-defrag 3 TFAIL : e4defrag returned failure > > ext4-online-defrag 0 TINFO : defrag type: 2, defrag obj: 1, block size: 1024 > > mke2fs 1.41.9 (22-Aug-2009) > > tune2fs 1.41.9 (22-Aug-2009) > > ... > > ext4-online-defrag 0 TINFO : defrag type: 2, defrag obj: 3, block size: 1024 > > mke2fs 1.41.9 (22-Aug-2009) > > tune2fs 1.41.9 (22-Aug-2009) > > Setting test filesystem flag > > dumpe2fs 1.41.9 (22-Aug-2009) > > dumpe2fs 1.41.9 (22-Aug-2009) > > 69630819+0 records in > > 69630819+0 records out > > 71301958656 bytes (71 GB) copied, 2623.31 s, 27.2 MB/s > > ext4-online-defrag 6 TFAIL : e4defrag returned failure > > ext4-online-defrag 0 TINFO : defrag type: 3, defrag obj: 1, block size: 1024 > > mke2fs 1.41.9 (22-Aug-2009) > > tune2fs 1.41.9 (22-Aug-2009) > > Setting test filesystem flag > > File is not regular file > > "/dev/VG1_EXT4/LV1_EXT4" > > ext4-online-defrag 7 TFAIL : e4defrag returned failure > > ext4-online-defrag 0 TINFO : defrag type: 3, defrag obj: 2, block size: 1024 > > mke2fs 1.41.9 (22-Aug-2009) > > tune2fs 1.41.9 (22-Aug-2009) > > Setting test filesystem flag > > 40+0 records in > > 40+0 records out > > 41943040 bytes (42 MB) copied, 0.737014 s, 56.9 MB/s > > write: Success > > Filesystem 1K-blocks Used Available Use% Mounted on > > /dev/sda1 25798712 10581072 13907140 44% / > > udev 1028576 152 1028424 1% /dev > > /dev/sda2 4127108 126572 3790888 4% /boot > > /dev/mapper/VG_EXT3_TO_EXT4_MIGRATION_TEST1-LV_EXT3_TO_EXT4_MIGRATION_TEST2 > > 10321208 154100 9642820 2% /MY_EXT4 > > /dev/mapper/VG_EXT3_TO_EXT4_MIGRATION_TEST1-LV_EXT3_TO_EXT4_MIGRATION_TEST1 > > 10321208 154232 9642688 2% /MY_EXT3 > > /dev/mapper/VG1_EXT4-LV1_EXT4 > > 139299998 139259037 40961 100% /root/subrata/ltp/ltp-full-20090930/testcases/bin/mnt_point > > File is not regular file > > "/dev/VG1_EXT4/LV1_EXT4" > > ext4-online-defrag 8 TFAIL : e4defrag returned failure > > ext4-online-defrag 0 TINFO : defrag type: 3, defrag obj: 3, block size: 1024 > > mke2fs 1.41.9 (22-Aug-2009) > > tune2fs 1.41.9 (22-Aug-2009) > > Setting test filesystem flag > > dumpe2fs 1.41.9 (22-Aug-2009) > > dumpe2fs 1.41.9 (22-Aug-2009) > > 69630819+0 records in > > 69630819+0 records out > > 71301958656 bytes (71 GB) copied, 2544.39 s, 28.0 MB/s > > File is not regular file > > "/dev/VG1_EXT4/LV1_EXT4" > > ext4-online-defrag 9 TFAIL : e4defrag returned failure > > ... > > ext4-online-defrag 0 TINFO : defrag type: 3, defrag obj: 2, block size: 4096 > > mke2fs 1.41.9 (22-Aug-2009) > > tune2fs 1.41.9 (22-Aug-2009) > > Setting test filesystem flag > > 40+0 records in > > 40+0 records out > > 41943040 bytes (42 MB) copied, 0.306366 s, 137 MB/s > > write: Success > > write: Success > > write: Success > > write: Success > > write: Success > > Filesystem 1K-blocks Used Available Use% Mounted on > > /dev/sda1 25798712 11441524 13046688 47% / > > udev 1028576 152 1028424 1% /dev > > /dev/sda2 4127108 126572 3790888 4% /boot > > /dev/mapper/VG_EXT3_TO_EXT4_MIGRATION_TEST1-LV_EXT3_TO_EXT4_MIGRATION_TEST2 > > 10321208 154100 9642820 2% /MY_EXT4 > > /dev/mapper/VG_EXT3_TO_EXT4_MIGRATION_TEST1-LV_EXT3_TO_EXT4_MIGRATION_TEST1 > > 10321208 154232 9642688 2% /MY_EXT3 > > /dev/mapper/VG1_EXT4-LV1_EXT4 > > 139336680 139295720 40960 100% /root/subrata/ltp/ltp-full-20090930/testcases/bin/mnt_point > > File is not regular file > > "/dev/VG1_EXT4/LV1_EXT4" > > ext4-online-defrag 17 TFAIL : e4defrag returned failure > > ext4-online-defrag 0 TINFO : defrag type: 3, defrag obj: 3, block size: 4096 > > mke2fs 1.41.9 (22-Aug-2009) > > tune2fs 1.41.9 (22-Aug-2009) > > Setting test filesystem flag > > dumpe2fs 1.41.9 (22-Aug-2009) > > dumpe2fs 1.41.9 (22-Aug-2009) > > 17392985+0 records in > > 17392985+0 records out > > 71241666560 bytes (71 GB) copied, 1019.79 s, 69.9 MB/s > > File is not regular file > > "/dev/VG1_EXT4/LV1_EXT4" > > ext4-online-defrag 18 TFAIL : e4defrag returned failure > > incrementing stop > > ======================================================================================== > > > > Miao, > > > > Did you see these failure on your machine ? > > Your take on this ? > > > Some more points are: > > > > 1. Can you please run these tests against the backdrop of the > > Makefile changes in LTP to see all the build/install/run are > > executing fine, > > Could you please verify this before this release. Let me know a patch if > you find any discrepancy :-) > > > 2. Can you also please put all the utilities version info at the > > beginning of the test rather than printing them again and > > again(like mke2fs 1.41.9 (22-Aug-2009),tune2fs 1.41.9 > > (22-Aug-2009),dumpe2fs 1.41.9 (22-Aug-2009),dumpe2fs 1.41.9 > > (22-Aug-2009)) > > This can go in the next month release as well, if you do not have time > to fix now. Else, i have a bug mouth to eat this as well ;-) > > Regards-- > Subrata > > > > > Regards-- > > Subrata > > > > > > > > > Following the various system information on which we ran the test: > > > > 1) uname -a > > > > Linux 2.6.31 #1 SMP Tue Oct 20 22:57:16 IST 2009 i686 i686 i386 > > > > GNU/Linux > > > > > > > > 2) grep -i ext4 .config > > > > CONFIG_EXT4_FS=m > > > > CONFIG_EXT4DEV_COMPAT=y > > > > CONFIG_EXT4_FS_XATTR=y > > > > CONFIG_EXT4_FS_POSIX_ACL=y > > > > CONFIG_EXT4_FS_SECURITY=y > > > > > > > > 3) mkfs.ext4 -V > > > > mke2fs 1.41.9 (22-Aug-2009) > > > > Using EXT2FS Library version 1.41.9 > > > > e2fsprogs-1.41.9 > > > > e2fsprogs-libs-1.41.9 > > > > > > > > 4) LTP used: > > > > Unreleased CVS repository. See the URL below to download: > > > > http://ltp.sourceforge.net/documentation/how-to/ltp.php#_3.1, > > > > > > > > You can also also directly review the attached patch(which added this > > > > test cases): > > > > 26_10_2009-(Miao-Xie<mi...@cn...>)- > > > > Add_new_testcases_for_ext4_new_features_V3.patch.regenerated, > > > > > > > > 5) I used a single 680GB LVM partition to test this. > > > > > > > > Kindly let us know your thoughts on this failures. > > > > > > Cheers, Andreas > > > -- > > > Andreas Dilger > > > Sr. Staff Engineer, Lustre Group > > > Sun Microsystems of Canada, Inc. > > > > > ------------------------------------------------------------------------------ > > Come build with us! The BlackBerry(R) Developer Conference in SF, CA > > is the only developer event you need to attend this year. Jumpstart your > > developing skills, take BlackBerry mobile applications to market and stay > > ahead of the curve. Join us from November 9 - 12, 2009. Register now! > > http://p.sf.net/sfu/devconference > > _______________________________________________ Ltp-list mailing list Ltp...@li... https://lists.sourceforge.net/lists/listinfo/ltp-list > > > ------------------------------------------------------------------------------ > Come build with us! The BlackBerry(R) Developer Conference in SF, CA > is the only developer event you need to attend this year. Jumpstart your > developing skills, take BlackBerry mobile applications to market and stay > ahead of the curve. Join us from November 9 - 12, 2009. Register now! > http://p.sf.net/sfu/devconference > _______________________________________________ > Ltp-list mailing list > Ltp...@li... > https://lists.sourceforge.net/lists/listinfo/ltp-list |
From: Miao X. <mi...@cn...> - 2009-11-03 02:48:16
|
Hi,Subrata Sorry for the late reply. I have no time to do the following job recently. But don't worry. I will do it before the next release. >>> On 2009-10-26, at 07:26, Subrata Modak wrote: >>>> We had recently added EXT4 testcases to LTP. As the author of these >>>> tests mentioned, we saw 2 such failures in subdirectory limit test: >>>> >>>> Ext4 subdir limit test >>>> ext4-subdir-limit 0 TINFO : Num of dirs to create: 65537, Dir >>>> name >>>> len: short name Parent dir: mnt_point, Block >>>> size: 1024 >>>> mke2fs 1.41.9 (22-Aug-2009) >>>> tune2fs 1.41.9 (22-Aug-2009) >>>> Setting test filesystem flag >>>> /dev/VG1_EXT4/LV1_EXT4: The test_fs flag is set (and ext4 is >>>> available). >>>> CLEARED. >>> You don't need to set the test_fs flag for modern ext4. >> Miao, >> >> Can we change this ? Ok, no problem. >>>> ext4-subdir-limit 0 TINFO : Num of dirs to create: 65537, Dir >>>> name >>>> len: long name Parent dir: mnt_point, Block >>>> size: 1024 >>>> mkdir: No space left on device >>>> ext4-subdir-limit 2 TFAIL : failed to create directories - 19524 ... >>>> ext4-subdir-limit 0 TINFO : Num of dirs to create: 65537, Dir >>>> name >>>> len: long name Parent dir: mnt_point/sub, >>>> Block >>>> size: 1024 >>>> mkdir: No space left on device >>>> ext4-subdir-limit 4 TFAIL : failed to create directories - 19483 ... >>>> Is this a known issue for EXT4 ? >>> Creating many long filenames (255 bytes) in a 1kB block filesystem is a >>> known issue that is not expected to be fixed (at least I'm not aware of >>> any work being done in this area). A vast majority of filesystems >>> today are formatted with 4kB blocks (due to disk size) and the >>> overhead of >>> managing 1kB block filesystems makes these only marginally used, and it >>> is also very rare to have applications with such large filenames. >> Ok. I will remove these testcases. >> However, it is also accompanied by the following failures in the online-defrag part: >> ======================================================================================== >> ext4-online-defrag 0 TINFO : defrag type: 1, defrag obj: 3, block size: 1024 >> 71301958656 bytes (71 GB) copied, 2694.12 s, 26.5 MB/s >> ext4-online-defrag 3 TFAIL : e4defrag returned failure ... >> ext4-online-defrag 0 TINFO : defrag type: 2, defrag obj: 3, block size: 1024 >> 71301958656 bytes (71 GB) copied, 2623.31 s, 27.2 MB/s >> ext4-online-defrag 6 TFAIL : e4defrag returned failure >> ext4-online-defrag 0 TINFO : defrag type: 3, defrag obj: 1, block size: 1024 >> ext4-online-defrag 7 TFAIL : e4defrag returned failure >> ext4-online-defrag 0 TINFO : defrag type: 3, defrag obj: 2, block size: 1024 >> 41943040 bytes (42 MB) copied, 0.737014 s, 56.9 MB/s >> ext4-online-defrag 8 TFAIL : e4defrag returned failure >> ext4-online-defrag 0 TINFO : defrag type: 3, defrag obj: 3, block size: 1024 >> 71301958656 bytes (71 GB) copied, 2544.39 s, 28.0 MB/s >> ext4-online-defrag 9 TFAIL : e4defrag returned failure >> ... >> ext4-online-defrag 0 TINFO : defrag type: 3, defrag obj: 2, block size: 4096 >> 41943040 bytes (42 MB) copied, 0.306366 s, 137 MB/s >> ext4-online-defrag 17 TFAIL : e4defrag returned failure >> ext4-online-defrag 0 TINFO : defrag type: 3, defrag obj: 3, block size: 4096 >> 71241666560 bytes (71 GB) copied, 1019.79 s, 69.9 MB/s >> ext4-online-defrag 18 TFAIL : e4defrag returned failure >> incrementing stop >> ======================================================================================== >> Did you see these failure on your machine ? I didn't find these failure on my box. I need more information to analyse. so I'll make a patch to get more information later. >> Some more points are: >> >> 1. Can you please run these tests against the backdrop of the >> Makefile changes in LTP to see all the build/install/run are >> executing fine, > > Could you please verify this before this release. Let me know a patch if > you find any discrepancy :-) Sorry for that I couldn't do it before the release. I'll do it before the next release. > >> 2. Can you also please put all the utilities version info at the >> beginning of the test rather than printing them again and >> again(like mke2fs 1.41.9 (22-Aug-2009),tune2fs 1.41.9 >> (22-Aug-2009),dumpe2fs 1.41.9 (22-Aug-2009),dumpe2fs 1.41.9 >> (22-Aug-2009)) > > This can go in the next month release as well, if you do not have time > to fix now. Else, i have a bug mouth to eat this as well ;-) I'll do it before the next release. Regards. Miao > > Regards-- > Subrata > >> Regards-- >> Subrata >> >>>> Following the various system information on which we ran the test: >>>> 1) uname -a >>>> Linux 2.6.31 #1 SMP Tue Oct 20 22:57:16 IST 2009 i686 i686 i386 >>>> GNU/Linux >>>> >>>> 2) grep -i ext4 .config >>>> CONFIG_EXT4_FS=m >>>> CONFIG_EXT4DEV_COMPAT=y >>>> CONFIG_EXT4_FS_XATTR=y >>>> CONFIG_EXT4_FS_POSIX_ACL=y >>>> CONFIG_EXT4_FS_SECURITY=y >>>> >>>> 3) mkfs.ext4 -V >>>> mke2fs 1.41.9 (22-Aug-2009) >>>> Using EXT2FS Library version 1.41.9 >>>> e2fsprogs-1.41.9 >>>> e2fsprogs-libs-1.41.9 >>>> >>>> 4) LTP used: >>>> Unreleased CVS repository. See the URL below to download: >>>> http://ltp.sourceforge.net/documentation/how-to/ltp.php#_3.1, >>>> >>>> You can also also directly review the attached patch(which added this >>>> test cases): >>>> 26_10_2009-(Miao-Xie<mi...@cn...>)- >>>> Add_new_testcases_for_ext4_new_features_V3.patch.regenerated, >>>> >>>> 5) I used a single 680GB LVM partition to test this. >>>> >>>> Kindly let us know your thoughts on this failures. >>> Cheers, Andreas >>> -- >>> Andreas Dilger >>> Sr. Staff Engineer, Lustre Group >>> Sun Microsystems of Canada, Inc. >>> >> ------------------------------------------------------------------------------ >> Come build with us! The BlackBerry(R) Developer Conference in SF, CA >> is the only developer event you need to attend this year. Jumpstart your >> developing skills, take BlackBerry mobile applications to market and stay >> ahead of the curve. Join us from November 9 - 12, 2009. Register now! >> http://p.sf.net/sfu/devconference >> _______________________________________________ Ltp-list mailing list Ltp...@li... https://lists.sourceforge.net/lists/listinfo/ltp-list > > > > |
From: Subrata M. <su...@li...> - 2009-11-09 17:40:16
|
On Tue, 2009-11-03 at 11:47 +0900, Miao Xie wrote: > Hi,Subrata > > Sorry for the late reply. > > I have no time to do the following job recently. > But don't worry. I will do it before the next release. Thank you very much Miao. I would like to tell you that many people in my team are using your test cases rigorously. Thanks for the same. Regards-- Subrata > > >>> On 2009-10-26, at 07:26, Subrata Modak wrote: > >>>> We had recently added EXT4 testcases to LTP. As the author of these > >>>> tests mentioned, we saw 2 such failures in subdirectory limit test: > >>>> > >>>> Ext4 subdir limit test > >>>> ext4-subdir-limit 0 TINFO : Num of dirs to create: 65537, Dir > >>>> name > >>>> len: short name Parent dir: mnt_point, Block > >>>> size: 1024 > >>>> mke2fs 1.41.9 (22-Aug-2009) > >>>> tune2fs 1.41.9 (22-Aug-2009) > >>>> Setting test filesystem flag > >>>> /dev/VG1_EXT4/LV1_EXT4: The test_fs flag is set (and ext4 is > >>>> available). > >>>> CLEARED. > >>> You don't need to set the test_fs flag for modern ext4. > >> Miao, > >> > >> Can we change this ? > > Ok, no problem. > > >>>> ext4-subdir-limit 0 TINFO : Num of dirs to create: 65537, Dir > >>>> name > >>>> len: long name Parent dir: mnt_point, Block > >>>> size: 1024 > >>>> mkdir: No space left on device > >>>> ext4-subdir-limit 2 TFAIL : failed to create directories - 19524 > ... > >>>> ext4-subdir-limit 0 TINFO : Num of dirs to create: 65537, Dir > >>>> name > >>>> len: long name Parent dir: mnt_point/sub, > >>>> Block > >>>> size: 1024 > >>>> mkdir: No space left on device > >>>> ext4-subdir-limit 4 TFAIL : failed to create directories - 19483 > ... > >>>> Is this a known issue for EXT4 ? > >>> Creating many long filenames (255 bytes) in a 1kB block filesystem is a > >>> known issue that is not expected to be fixed (at least I'm not aware of > >>> any work being done in this area). A vast majority of filesystems > >>> today are formatted with 4kB blocks (due to disk size) and the > >>> overhead of > >>> managing 1kB block filesystems makes these only marginally used, and it > >>> is also very rare to have applications with such large filenames. > >> Ok. > > I will remove these testcases. > > >> However, it is also accompanied by the following failures in the online-defrag part: > >> ======================================================================================== > >> ext4-online-defrag 0 TINFO : defrag type: 1, defrag obj: 3, block size: 1024 > >> 71301958656 bytes (71 GB) copied, 2694.12 s, 26.5 MB/s > >> ext4-online-defrag 3 TFAIL : e4defrag returned failure > ... > >> ext4-online-defrag 0 TINFO : defrag type: 2, defrag obj: 3, block size: 1024 > >> 71301958656 bytes (71 GB) copied, 2623.31 s, 27.2 MB/s > >> ext4-online-defrag 6 TFAIL : e4defrag returned failure > >> ext4-online-defrag 0 TINFO : defrag type: 3, defrag obj: 1, block size: 1024 > >> ext4-online-defrag 7 TFAIL : e4defrag returned failure > >> ext4-online-defrag 0 TINFO : defrag type: 3, defrag obj: 2, block size: 1024 > >> 41943040 bytes (42 MB) copied, 0.737014 s, 56.9 MB/s > >> ext4-online-defrag 8 TFAIL : e4defrag returned failure > >> ext4-online-defrag 0 TINFO : defrag type: 3, defrag obj: 3, block size: 1024 > >> 71301958656 bytes (71 GB) copied, 2544.39 s, 28.0 MB/s > >> ext4-online-defrag 9 TFAIL : e4defrag returned failure > >> ... > >> ext4-online-defrag 0 TINFO : defrag type: 3, defrag obj: 2, block size: 4096 > >> 41943040 bytes (42 MB) copied, 0.306366 s, 137 MB/s > >> ext4-online-defrag 17 TFAIL : e4defrag returned failure > >> ext4-online-defrag 0 TINFO : defrag type: 3, defrag obj: 3, block size: 4096 > >> 71241666560 bytes (71 GB) copied, 1019.79 s, 69.9 MB/s > >> ext4-online-defrag 18 TFAIL : e4defrag returned failure > >> incrementing stop > >> ======================================================================================== > >> Did you see these failure on your machine ? > > I didn't find these failure on my box. > I need more information to analyse. so I'll make a patch to get > more information later. > > >> Some more points are: > >> > >> 1. Can you please run these tests against the backdrop of the > >> Makefile changes in LTP to see all the build/install/run are > >> executing fine, > > > > Could you please verify this before this release. Let me know a patch if > > you find any discrepancy :-) > > Sorry for that I couldn't do it before the release. > I'll do it before the next release. > > > > >> 2. Can you also please put all the utilities version info at the > >> beginning of the test rather than printing them again and > >> again(like mke2fs 1.41.9 (22-Aug-2009),tune2fs 1.41.9 > >> (22-Aug-2009),dumpe2fs 1.41.9 (22-Aug-2009),dumpe2fs 1.41.9 > >> (22-Aug-2009)) > > > > This can go in the next month release as well, if you do not have time > > to fix now. Else, i have a bug mouth to eat this as well ;-) > > I'll do it before the next release. > > Regards. > Miao > > > > > Regards-- > > Subrata > > > >> Regards-- > >> Subrata > >> > >>>> Following the various system information on which we ran the test: > >>>> 1) uname -a > >>>> Linux 2.6.31 #1 SMP Tue Oct 20 22:57:16 IST 2009 i686 i686 i386 > >>>> GNU/Linux > >>>> > >>>> 2) grep -i ext4 .config > >>>> CONFIG_EXT4_FS=m > >>>> CONFIG_EXT4DEV_COMPAT=y > >>>> CONFIG_EXT4_FS_XATTR=y > >>>> CONFIG_EXT4_FS_POSIX_ACL=y > >>>> CONFIG_EXT4_FS_SECURITY=y > >>>> > >>>> 3) mkfs.ext4 -V > >>>> mke2fs 1.41.9 (22-Aug-2009) > >>>> Using EXT2FS Library version 1.41.9 > >>>> e2fsprogs-1.41.9 > >>>> e2fsprogs-libs-1.41.9 > >>>> > >>>> 4) LTP used: > >>>> Unreleased CVS repository. See the URL below to download: > >>>> http://ltp.sourceforge.net/documentation/how-to/ltp.php#_3.1, > >>>> > >>>> You can also also directly review the attached patch(which added this > >>>> test cases): > >>>> 26_10_2009-(Miao-Xie<mi...@cn...>)- > >>>> Add_new_testcases_for_ext4_new_features_V3.patch.regenerated, > >>>> > >>>> 5) I used a single 680GB LVM partition to test this. > >>>> > >>>> Kindly let us know your thoughts on this failures. > >>> Cheers, Andreas > >>> -- > >>> Andreas Dilger > >>> Sr. Staff Engineer, Lustre Group > >>> Sun Microsystems of Canada, Inc. > >>> > >> ------------------------------------------------------------------------------ > >> Come build with us! The BlackBerry(R) Developer Conference in SF, CA > >> is the only developer event you need to attend this year. Jumpstart your > >> developing skills, take BlackBerry mobile applications to market and stay > >> ahead of the curve. Join us from November 9 - 12, 2009. Register now! > >> http://p.sf.net/sfu/devconference > >> _______________________________________________ Ltp-list mailing list Ltp...@li... https://lists.sourceforge.net/lists/listinfo/ltp-list > > > > > > > > > > |
From: Miao X. <mi...@cn...> - 2009-11-26 11:58:59
|
Hi, Subrata on 2009-11-2 21:59, Subrata Modak wrote: >>>>> /dev/VG1_EXT4/LV1_EXT4: The test_fs flag is set (and ext4 is >>>>> available). >>>>> CLEARED. >>>> You don't need to set the test_fs flag for modern ext4. >>> Can we change this ? The attached patch can fix this problem. >>> However, it is also accompanied by the following failures in the online-defrag part: >>> ======================================================================================== >>> ext4-online-defrag 0 TINFO : defrag type: 1, defrag obj: 3, block size: 1024 [snip] >>> ext4-online-defrag 3 TFAIL : e4defrag returned failure [snip] >>> ext4-online-defrag 0 TINFO : defrag type: 2, defrag obj: 3, block size: 1024 [snip] >>> ext4-online-defrag 6 TFAIL : e4defrag returned failure >>> ext4-online-defrag 0 TINFO : defrag type: 3, defrag obj: 1, block size: 1024 [snip] >>> ext4-online-defrag 7 TFAIL : e4defrag returned failure >>> ext4-online-defrag 0 TINFO : defrag type: 3, defrag obj: 2, block size: 1024 [snip] >>> File is not regular file >>> "/dev/VG1_EXT4/LV1_EXT4" >>> ext4-online-defrag 8 TFAIL : e4defrag returned failure >>> ext4-online-defrag 0 TINFO : defrag type: 3, defrag obj: 3, block size: 1024 [snip] >>> ext4-online-defrag 9 TFAIL : e4defrag returned failure >>> ... >>> ext4-online-defrag 0 TINFO : defrag type: 3, defrag obj: 2, block size: 4096 [snip] >>> File is not regular file >>> "/dev/VG1_EXT4/LV1_EXT4" >>> ext4-online-defrag 17 TFAIL : e4defrag returned failure >>> ext4-online-defrag 0 TINFO : defrag type: 3, defrag obj: 3, block size: 4096 [snip] >>> File is not regular file >>> "/dev/VG1_EXT4/LV1_EXT4" >>> ext4-online-defrag 18 TFAIL : e4defrag returned failure >>> incrementing stop >>> ======================================================================================== >>> Did you see these failure on your machine ? >> Your take on this ? I didn't find these failure on my box. The attached patch opens the verbose mode of e4defrag to get more information later, it is useful to find the problem of online defrag. So, Could you test it again and send the output info to me? >> >>> Some more points are: >>> >>> 1. Can you please run these tests against the backdrop of the >>> Makefile changes in LTP to see all the build/install/run are >>> executing fine, >> Could you please verify this before this release. Let me know a patch if >> you find any discrepancy :-) The attached patch can fix this problem. >> >>> 2. Can you also please put all the utilities version info at the >>> beginning of the test rather than printing them again and >>> again(like mke2fs 1.41.9 (22-Aug-2009),tune2fs 1.41.9 >>> (22-Aug-2009),dumpe2fs 1.41.9 (22-Aug-2009),dumpe2fs 1.41.9 >>> (22-Aug-2009)) >> This can go in the next month release as well, if you do not have time >> to fix now. Else, i have a bug mouth to eat this as well ;-) The attached patch can fix this problem. This patch can fix the following problem: -- delete the code of setting the test_fs flag -- open the verbose mode of e4defrag, it is useful to find the problem of online defrag -- fix some bug of the Makefile -- throw the utilities version info away Signed-off-by: Miao Xie <mi...@cn...> --- diff --git a/testcases/kernel/fs/ext4-new-features/ext4-delalloc-mballoc/ext4-alloc-test.sh b/testcases/kernel/fs/ext4-new-features/ext4-delalloc-mballoc/ext4-alloc-test.sh index 63c614c..be7b074 100755 --- a/testcases/kernel/fs/ext4-new-features/ext4-delalloc-mballoc/ext4-alloc-test.sh +++ b/testcases/kernel/fs/ext4-new-features/ext4-delalloc-mballoc/ext4-alloc-test.sh @@ -85,8 +85,7 @@ ext4_test_remount() # $4: auto_da_alloc ext4_test_delalloc_mballoc() { - tst_resm TINFO "isDelalloc: $1, isDirectIO: $2, Blocksize: $3, \ - isAuto_da_alloc: $4" + tst_resm TINFO "isDelalloc: $1, isDirectIO: $2, Blocksize: $3, isAuto_da_alloc: $4" mkfs.ext4 -I 256 -b $3 /$EXT4_DEV &> /dev/null if [ $? -ne 0 ]; then diff --git a/testcases/kernel/fs/ext4-new-features/ext4-inode-version/ext4_get_inode_version.sh b/testcases/kernel/fs/ext4-new-features/ext4-inode-version/ext4_get_inode_version.sh index 8f5c907..0e7a8b6 100755 --- a/testcases/kernel/fs/ext4-new-features/ext4-inode-version/ext4_get_inode_version.sh +++ b/testcases/kernel/fs/ext4-new-features/ext4-inode-version/ext4_get_inode_version.sh @@ -24,7 +24,7 @@ #$2: 1 - return inode version by return value # !1 - writting inode version to stddev -inode_version=`debugfs -R "stat $1" $EXT4_DEV | grep 'Version' | awk '{ +inode_version=`debugfs -R "stat $1" $EXT4_DEV 2> /dev/null | grep 'Version' | awk '{ print $NF }'` # The inode_version's format: '0x0000000a' or '0x00000000:0000000a', diff --git a/testcases/kernel/fs/ext4-new-features/ext4-inode-version/ext4_inode_version_test.sh b/testcases/kernel/fs/ext4-new-features/ext4-inode-version/ext4_inode_version_test.sh index 4798e99..4a58b36 100755 --- a/testcases/kernel/fs/ext4-new-features/ext4-inode-version/ext4_inode_version_test.sh +++ b/testcases/kernel/fs/ext4-new-features/ext4-inode-version/ext4_inode_version_test.sh @@ -67,7 +67,7 @@ ext4_test_128_inode_version() fi # inode version is 32 bits: 0x00000000 - version=`debugfs $EXT4_DEV -R "stat tmp_file" | grep 'Version'` + version=`debugfs $EXT4_DEV -R "stat tmp_file" 2> /dev/null | grep 'Version'` version=`echo $version | awk '{ print $NF }'` version=`echo $version | sed 's/^0x//'` len=${#version} diff --git a/testcases/kernel/fs/ext4-new-features/ext4-journal-checksum/ext4_journal_checksum.sh b/testcases/kernel/fs/ext4-new-features/ext4-journal-checksum/ext4_journal_checksum.sh index 310eaa0..eb72b5d 100755 --- a/testcases/kernel/fs/ext4-new-features/ext4-journal-checksum/ext4_journal_checksum.sh +++ b/testcases/kernel/fs/ext4-new-features/ext4-journal-checksum/ext4_journal_checksum.sh @@ -59,9 +59,9 @@ ext4_test_journal_checksum() async_commit="Used" fi - tst_resm TINFO "journal mode: $1, commit interval: $2, \ - journal_checksum: $checksum, \ - journal_async_commit: $async_commit, barrier: $5" + tst_resm TINFO "journal mode: $1, commit interval: $2, " \ + "journal_checksum: $checksum, " \ + "journal_async_commit: $async_commit, barrier: $5" mkfs.ext4 -I 256 $EXT4_DEV &> /dev/null if [ $? -ne 0 ]; then diff --git a/testcases/kernel/fs/ext4-new-features/ext4-online-defrag/ext4_online_defrag_test.sh b/testcases/kernel/fs/ext4-new-features/ext4-online-defrag/ext4_online_defrag_test.sh index 3747783..c901758 100755 --- a/testcases/kernel/fs/ext4-new-features/ext4-online-defrag/ext4_online_defrag_test.sh +++ b/testcases/kernel/fs/ext4-new-features/ext4-online-defrag/ext4_online_defrag_test.sh @@ -126,13 +126,15 @@ ext4_test_online_defrag() tst_resm TINFO "defrag type: $1, defrag obj: $2, block size: $3" - mkfs.ext4 -m 0 -b $3 -O ^flex_bg $EXT4_DEV &> /dev/null + mkfs.ext4 -m 0 -b $3 -O ^flex_bg $EXT4_DEV &>> \ + $LTPROOT/output/ext4_online_defrag_result.txt if [ $? -ne 0 ]; then tst_resm TFAIL "failed to create ext4 filesystem" return 1 fi - tune2fs -O extents $EXT4_DEV &> /dev/null + tune2fs -O extents $EXT4_DEV &>> \ + $LTPROOT/output/ext4_online_defrag_result.txt mount -t ext4 -o nodelalloc $EXT4_DEV mnt_point if [ $? -ne 0 ]; then @@ -140,9 +142,9 @@ ext4_test_online_defrag() return 1 fi - age_filesystem $2 $1 >> $LTPROOT/output/ext4_online_defrag_result.txt + age_filesystem $2 $1 &>> $LTPROOT/output/ext4_online_defrag_result.txt - my_e4defrag $1 $2 >> $LTPROOT/output/ext4_online_defrag_result.txt + my_e4defrag $1 $2 &>> $LTPROOT/output/ext4_online_defrag_result.txt if [ $? -ne 0 ]; then tst_resm TFAIL "e4defrag returned failure" umount mnt_point @@ -155,13 +157,14 @@ ext4_test_online_defrag() return 1 fi - e2fsck -p $EXT4_DEV &> /dev/null + e2fsck -p $EXT4_DEV &>> \ + $LTPROOT/output/ext4_online_defrag_result.txt if [ $? -ne 0 ]; then tst_resm TFAIL "fsck returned failure" return 1 fi - tst_resm TPASS "ext4 online defrag test pass(defrag type: $1, Aging: $2, block size: $3)" + tst_resm TPASS "ext4 online defrag test pass" } # main diff --git a/testcases/kernel/fs/ext4-new-features/ext4-subdir-limit/ext4_subdir_limit_test.sh b/testcases/kernel/fs/ext4-new-features/ext4-subdir-limit/ext4_subdir_limit_test.sh index 1483191..97b11ab 100755 --- a/testcases/kernel/fs/ext4-new-features/ext4-subdir-limit/ext4_subdir_limit_test.sh +++ b/testcases/kernel/fs/ext4-new-features/ext4-subdir-limit/ext4_subdir_limit_test.sh @@ -59,8 +59,8 @@ ext4_run_case() dir_name_len="long name" fi - tst_resm TINFO "Num of dirs to create: $1, Dir name len: $dir_name_len \ - Parent dir: $3, Block size: $4" + tst_resm TINFO "Num of dirs to create: $1, Dir name len: $dir_name_len, " \ + "Parent dir: $3, Block size: $4" # only mkfs if block size has been changed, # or previous case failed @@ -127,7 +127,7 @@ ext4_run_case() fi # check dir_nlink is set - dumpe2fs $EXT4_DEV | grep '^Filesystem features' | grep -q dir_nlink + dumpe2fs $EXT4_DEV 2> /dev/null | grep '^Filesystem features' | grep -q dir_nlink if [ $? -ne 0 ]; then tst_resm TFAIL "feature dir_nlink is not set" return 1 diff --git a/testcases/kernel/fs/ext4-new-features/ext4-uninit-groups/ext4_uninit_groups_test.sh b/testcases/kernel/fs/ext4-new-features/ext4-uninit-groups/ext4_uninit_groups_test.sh index 88fbfa9..c3fe386 100755 --- a/testcases/kernel/fs/ext4-new-features/ext4-uninit-groups/ext4_uninit_groups_test.sh +++ b/testcases/kernel/fs/ext4-new-features/ext4-uninit-groups/ext4_uninit_groups_test.sh @@ -40,8 +40,8 @@ LARGE=3 # filesystem free size in bytes: blocks_size * free_blocks filesystem_free_size() { - bsize=`dumpe2fs -h $EXT4_DEV | grep 'Block size' | awk '{ print $2 }'` - blocks=`dumpe2fs -h $EXT4_DEV | grep 'Free blocks'| awk '{ print $2 }'` + bsize=`dumpe2fs -h $EXT4_DEV 2> /dev/null | grep 'Block size' | awk '{ print $2 }'` + blocks=`dumpe2fs -h $EXT4_DEV 2> /dev/null | grep 'Free blocks'| awk '{ print $2 }'` echo $bsize * $blocks } @@ -61,9 +61,9 @@ age_filesystem() } elif [ $1 -eq $LARGE ]; then rm -rf mnt_point/* - bsize=`dumpe2fs -h $EXT4_DEV | grep 'Block size'` + bsize=`dumpe2fs -h $EXT4_DEV 2> /dev/null | grep 'Block size'` bsize=`echo $bsize | awk '{ print $3 }'` - bcount=`dumpe2fs -h $EXT4_DEV | grep 'Free blocks'` + bcount=`dumpe2fs -h $EXT4_DEV 2> /dev/null | grep 'Free blocks'` bcount=`echo $bcount | awk '{ print $3 }'` dd if=/dev/zero of=mnt_point/tmp_dir bs=$bsize count=$bcount else @@ -80,6 +80,8 @@ age_filesystem() # $4: age filesystem: $EMPTY, $SMALL, $LARGE ext4_test_uninit_groups() { + echo "Test $TST_COUNT" >> $LTPROOT/output/ext4_uninit_groups_result.txt + mkfs.ext4 -I 256 -m 0 $EXT4_DEV &> /dev/null if [ $? -ne 0 ]; then tst_resm TFAIL "failed to create ext4 filesystem" @@ -103,7 +105,7 @@ ext4_test_uninit_groups() return 1 fi - age_filesystem $4 + age_filesystem $4 &>> $LTPROOT/output/ext4_uninit_groups_result.txt if [ $? -ne 0 ]; then tst_resm TFAIL "age filesystem failed" umount mnt_point @@ -135,6 +137,8 @@ AGING=( $EMPTY $SMALL $LARGE ) RET=0 +rm -f $LTPROOT/output/ext4_uninit_groups_result.txt + for ((i = 0; i < 2; i++)) { for ((j = 0; j < 2; j++)) -- |
From: Miao X. <mi...@cn...> - 2009-11-30 03:24:15
|
Hi, Subrata I'm sorry. There is something wrong in the patch that I sent on 2009-11-26. So I made a new patch to instead of it. And Subrata, I didn't find these failure about online defrag on my box. The attached patch opens the verbose mode of e4defrag to get more information later, it is useful to find the problem of online defrag. So, Could you test it again and send the output info to me? This patch can fix the following problem: -- delete the code of setting the test_fs flag -- open the verbose mode of e4defrag, it is useful to find the problem of online defrag -- fix some bug of the Makefile -- throw the utilities version info away -- delete two unnecessary testcases about ext4 subdir limit test Signed-off-by: Miao Xie <mi...@cn...> --- testcases/kernel/fs/ext4-new-features/Makefile | 20 ++++++++++---- testcases/kernel/fs/ext4-new-features/README | 7 +---- .../ext4-delalloc-mballoc/ext4-alloc-test.sh | 15 ++++------ .../ext4-inode-version/ext4_get_inode_version.sh | 2 +- .../ext4-inode-version/ext4_inode_version_test.sh | 10 +++---- .../ext4-journal-checksum/ext4_journal_checksum.sh | 12 ++++---- .../ext4_nsec_timestamps_test.sh | 8 ++--- .../ext4-online-defrag/ext4_online_defrag_test.sh | 28 ++++++++++++------- .../ext4_persist_prealloc_test.sh | 4 +- .../ext4-subdir-limit/ext4_subdir_limit_test.sh | 17 +++++++----- .../ext4-uninit-groups/ext4_uninit_groups_test.sh | 22 +++++++++------ 11 files changed, 78 insertions(+), 67 deletions(-) diff --git a/testcases/kernel/fs/ext4-new-features/Makefile b/testcases/kernel/fs/ext4-new-features/Makefile index 0e09dd6..208b8a6 100644 --- a/testcases/kernel/fs/ext4-new-features/Makefile +++ b/testcases/kernel/fs/ext4-new-features/Makefile @@ -22,17 +22,25 @@ top_srcdir ?= ../../../.. include $(top_srcdir)/include/mk/env_pre.mk -INSTALL_TARGETS := *.sh -INSTALL_TARGETS := ext4-test-config -INSTALL_TARGETS := ffsb-6.0-rc2/ffsb +INSTALL_TARGETS += ffsb +INSTALL_TARGETS += run_ext4_test.sh +INSTALL_TARGETS += ext4_funcs.sh +INSTALL_TARGETS += ext4-test-config -FILTER_OUT_DIRS := ffsb-6.0-rc2 +FFSBDIR := ffsb-6.0-rc2 +FILTER_OUT_DIRS := $(FFSBDIR) +FFSB := $(FFSBDIR)/ffsb -trunk-all: ffsb-6.0-rc2 +$(FFSB): $(FFSBDIR) + $(MAKE) -C $^ -f "$(abs_srcdir)/$^/Makefile" all + cp $(FFSBDIR)/ffsb ffsb + +trunk-all: $(FFSB) trunk-clean:: | ffsb-clean -ffsb-clean:: ffsb-6.0-rc2 +ffsb-clean:: $(FFSBDIR) $(MAKE) -C $^ -f "$(abs_srcdir)/$^/Makefile" clean + rm -rf ffsb include $(top_srcdir)/include/mk/generic_trunk_target.mk diff --git a/testcases/kernel/fs/ext4-new-features/README b/testcases/kernel/fs/ext4-new-features/README index 0ea0460..bda16e5 100644 --- a/testcases/kernel/fs/ext4-new-features/README +++ b/testcases/kernel/fs/ext4-new-features/README @@ -9,7 +9,7 @@ with increasing disk capacities and state-of-the-art feature requirements. More extensive information of ext4 can be found at the ext4 wiki site at the URL: http://ext4.wiki.kernel.org -There are total 119 testcases for ext4 new features test that have been added. +There are total 117 testcases for ext4 new features test that have been added. Now, these testcases can test multi-block alloc/delayed alloc, inode version field on disk, journal checksumming, nanosec timestamps, online defrag, persist prealloc, subdirectory limit and uninit groups of ext4. @@ -111,11 +111,6 @@ Directory containing the shell script which is used to test subdirectory limit of ext4. According to the kernel documentation, we create more than 32000 subdirectorys on the ext4 filesystem. -But, when then block size is small, such as 1024, and the name of every -subdirectory is very long, such as every name is 255 bytes, we can just create -less than 20000 subdirectory. In this test suite, there is two FAIL cases by -reason of it. - ext4-uninit-groups ------------------ Directory containing the shell script which is used to test uninitialized groups diff --git a/testcases/kernel/fs/ext4-new-features/ext4-delalloc-mballoc/ext4-alloc-test.sh b/testcases/kernel/fs/ext4-new-features/ext4-delalloc-mballoc/ext4-alloc-test.sh index ec2f389..be7b074 100755 --- a/testcases/kernel/fs/ext4-new-features/ext4-delalloc-mballoc/ext4-alloc-test.sh +++ b/testcases/kernel/fs/ext4-new-features/ext4-delalloc-mballoc/ext4-alloc-test.sh @@ -37,14 +37,12 @@ read_config $1 # Case 17: mount ext4 partition to ext3 ext4_test_remount() { - mkfs.ext3 -I 256 -b 1024 $EXT4_DEV > /dev/null + mkfs.ext3 -I 256 -b 1024 $EXT4_DEV &> /dev/null if [ $? -ne 0 ]; then tst_resm TFAIL "failed to create ext4 filesystem" return 1 fi - tune2fs -E test_fs $EXT4_DEV - mount -t ext4 -o delalloc,auto_da_alloc $EXT4_DEV mnt_point if [ $? -ne 0 ]; then tst_resm TFAIL "failed to mount ext4 filesystem" @@ -71,7 +69,7 @@ ext4_test_remount() fi umount mnt_point - fsck -p $EXT4_DEV + fsck -p $EXT4_DEV &> /dev/null if [ $? -ne 0 ]; then tst_resm TFAIL "fsck returned failure" return 1 @@ -87,16 +85,15 @@ ext4_test_remount() # $4: auto_da_alloc ext4_test_delalloc_mballoc() { - tst_resm TINFO "isDelalloc: $1, isDirectIO: $2, Blocksize: $3, \ - isAuto_da_alloc: $4" + tst_resm TINFO "isDelalloc: $1, isDirectIO: $2, Blocksize: $3, isAuto_da_alloc: $4" - mkfs.ext4 -I 256 -b $3 /$EXT4_DEV > /dev/null + mkfs.ext4 -I 256 -b $3 /$EXT4_DEV &> /dev/null if [ $? -ne 0 ]; then tst_resm TFAIL "failed to create ext4 filesystem" return 1 fi - tune2fs -E test_fs -O extents $EXT4_DEV + tune2fs -O extents $EXT4_DEV &> /dev/null mount -t ext4 -o $1,$4 $EXT4_DEV mnt_point if [ $? -ne 0 ]; then @@ -117,7 +114,7 @@ ext4_test_delalloc_mballoc() return 1 fi - fsck -p $EXT4_DEV + fsck -p $EXT4_DEV &> /dev/null if [ $? -ne 0 ]; then tst_resm TFAIL "fsck returned failure" return 1 diff --git a/testcases/kernel/fs/ext4-new-features/ext4-inode-version/ext4_get_inode_version.sh b/testcases/kernel/fs/ext4-new-features/ext4-inode-version/ext4_get_inode_version.sh index 8f5c907..0e7a8b6 100755 --- a/testcases/kernel/fs/ext4-new-features/ext4-inode-version/ext4_get_inode_version.sh +++ b/testcases/kernel/fs/ext4-new-features/ext4-inode-version/ext4_get_inode_version.sh @@ -24,7 +24,7 @@ #$2: 1 - return inode version by return value # !1 - writting inode version to stddev -inode_version=`debugfs -R "stat $1" $EXT4_DEV | grep 'Version' | awk '{ +inode_version=`debugfs -R "stat $1" $EXT4_DEV 2> /dev/null | grep 'Version' | awk '{ print $NF }'` # The inode_version's format: '0x0000000a' or '0x00000000:0000000a', diff --git a/testcases/kernel/fs/ext4-new-features/ext4-inode-version/ext4_inode_version_test.sh b/testcases/kernel/fs/ext4-new-features/ext4-inode-version/ext4_inode_version_test.sh index f27248b..4a58b36 100755 --- a/testcases/kernel/fs/ext4-new-features/ext4-inode-version/ext4_inode_version_test.sh +++ b/testcases/kernel/fs/ext4-new-features/ext4-inode-version/ext4_inode_version_test.sh @@ -41,13 +41,13 @@ ext4_test_128_inode_version() { tst_resm TINFO "Test inode version is 32 bits with 128 inode size" - mkfs.ext4 -I 128 $EXT4_DEV > /dev/null + mkfs.ext4 -I 128 $EXT4_DEV &> /dev/null if [ $? -ne 0 ]; then tst_resm TFAIL "failed to create ext4 filesystem" return 1 fi - tune2fs -E test_fs -O extents $EXT4_DEV + tune2fs -O extents $EXT4_DEV &> /dev/null mount -t ext4 -o i_version $EXT4_DEV mnt_point if [ $? -ne 0 ]; then @@ -67,7 +67,7 @@ ext4_test_128_inode_version() fi # inode version is 32 bits: 0x00000000 - version=`debugfs $EXT4_DEV -R "stat tmp_file" | grep 'Version'` + version=`debugfs $EXT4_DEV -R "stat tmp_file" 2> /dev/null | grep 'Version'` version=`echo $version | awk '{ print $NF }'` version=`echo $version | sed 's/^0x//'` len=${#version} @@ -91,14 +91,12 @@ ext4_test_128_inode_version() # $1: file operation test_inode_version() { - mkfs.ext3 -I 256 $EXT4_DEV > /dev/null + mkfs.ext3 -I 256 $EXT4_DEV &> /dev/null if [ $? -ne 0 ]; then tst_resm TFAIL "failed to create ext4 filesystem" return 1 fi - tune2fs -E test_fs $EXT4_DEV > /dev/null - mount -t ext4 -o i_version $EXT4_DEV mnt_point if [ $? -ne 0 ]; then tst_resm TFAIL "failed to mount ext4 filesystem" diff --git a/testcases/kernel/fs/ext4-new-features/ext4-journal-checksum/ext4_journal_checksum.sh b/testcases/kernel/fs/ext4-new-features/ext4-journal-checksum/ext4_journal_checksum.sh index 550afa1..eb72b5d 100755 --- a/testcases/kernel/fs/ext4-new-features/ext4-journal-checksum/ext4_journal_checksum.sh +++ b/testcases/kernel/fs/ext4-new-features/ext4-journal-checksum/ext4_journal_checksum.sh @@ -59,17 +59,17 @@ ext4_test_journal_checksum() async_commit="Used" fi - tst_resm TINFO "journal mode: $1, commit interval: $2, \ - journal_checksum: $checksum, \ - journal_async_commit: $async_commit, barrier: $5" + tst_resm TINFO "journal mode: $1, commit interval: $2, " \ + "journal_checksum: $checksum, " \ + "journal_async_commit: $async_commit, barrier: $5" - mkfs.ext4 -I 256 $EXT4_DEV > /dev/null + mkfs.ext4 -I 256 $EXT4_DEV &> /dev/null if [ $? -ne 0 ]; then tst_resm TFAIL "failed to create ext4 filesystem" return 1 fi - tune2fs -E test_fs -O extents $EXT4_DEV + tune2fs -O extents $EXT4_DEV &> /dev/null mount -t ext4 -o data=$1,commit=$2,$3,$4,barrier=$5 $EXT4_DEV mnt_point if [ $? -ne 0 ]; then @@ -90,7 +90,7 @@ ext4_test_journal_checksum() return 1 fi - e2fsck -p $EXT4_DEV + e2fsck -p $EXT4_DEV &> /dev/null if [ $? -ne 0 ]; then tst_resm TFAIL "fsck returned failure" return 1 diff --git a/testcases/kernel/fs/ext4-new-features/ext4-nsec-timestamps/ext4_nsec_timestamps_test.sh b/testcases/kernel/fs/ext4-new-features/ext4-nsec-timestamps/ext4_nsec_timestamps_test.sh index ced6576..cc00507 100755 --- a/testcases/kernel/fs/ext4-new-features/ext4-nsec-timestamps/ext4_nsec_timestamps_test.sh +++ b/testcases/kernel/fs/ext4-new-features/ext4-nsec-timestamps/ext4_nsec_timestamps_test.sh @@ -41,13 +41,13 @@ ext4_test_sec_timestamps() { tst_resm TINFO "Test timestamps with 128 inode size" - mkfs.ext4 -I 128 $EXT4_DEV > /dev/null + mkfs.ext4 -I 128 $EXT4_DEV &> /dev/null if [ $? -ne 0 ]; then tst_resm TFAIL "failed to create ext4 filesystem" return 1 fi - tune2fs -E test_fs -O extents $EXT4_DEV + tune2fs -O extents $EXT4_DEV &> /dev/null mount -t ext4 $EXT4_DEV mnt_point if [ $? -ne 0 ]; then @@ -82,14 +82,12 @@ ext4_test_nsec_timestamps() { tst_resm TINFO "Test timestamps with 256 inode size" - mkfs.ext3 -I 256 $EXT4_DEV > /dev/null + mkfs.ext3 -I 256 $EXT4_DEV &> /dev/null if [ $? -ne 0 ]; then tst_resm TFAIL "failed to create ext4 filesystem" return 1 fi - tune2fs -E test_fs $EXT4_DEV - mount -t ext4 $EXT4_DEV mnt_point if [ $? -ne 0 ]; then tst_resm TFAIL "failed to mount ext4 filesystem" diff --git a/testcases/kernel/fs/ext4-new-features/ext4-online-defrag/ext4_online_defrag_test.sh b/testcases/kernel/fs/ext4-new-features/ext4-online-defrag/ext4_online_defrag_test.sh index 84613c8..7b4dda3 100755 --- a/testcases/kernel/fs/ext4-new-features/ext4-online-defrag/ext4_online_defrag_test.sh +++ b/testcases/kernel/fs/ext4-new-features/ext4-online-defrag/ext4_online_defrag_test.sh @@ -94,23 +94,23 @@ my_e4defrag() { if [ $1 -eq $FILE ]; then if [ $2 -eq $SMALL ]; then - ./e4defrag mnt_point/data0/ + ./e4defrag -v mnt_point/data0/ return $? # EMPTY or LARGE else - ./e4defrag mnt_point/tmp_file + ./e4defrag -v mnt_point/tmp_file return $? fi elif [ $1 -eq $DIR ]; then if [ $2 -eq $SMALL ]; then - ./e4defrag mnt_point/data0/ + ./e4defrag -v mnt_point/data0/ return $? else - ./e4defrag mnt_point/tmp_dir + ./e4defrag -v mnt_point/tmp_dir return $? fi else - ./e4defrag $EXT4_DEV + ./e4defrag -v $EXT4_DEV return $? fi } @@ -121,15 +121,20 @@ my_e4defrag() # $3: block size ext4_test_online_defrag() { + echo Test $TST_COUNT start >> \ + $LTPROOT/output/ext4_online_defrag_result.txt + tst_resm TINFO "defrag type: $1, defrag obj: $2, block size: $3" - mkfs.ext4 -m 0 -b $3 -O ^flex_bg $EXT4_DEV > /dev/null + mkfs.ext4 -m 0 -b $3 -O ^flex_bg $EXT4_DEV >> \ + $LTPROOT/output/ext4_online_defrag_result.txt 2>&1 if [ $? -ne 0 ]; then tst_resm TFAIL "failed to create ext4 filesystem" return 1 fi - tune2fs -E test_fs -O extents $EXT4_DEV + tune2fs -O extents $EXT4_DEV >> \ + $LTPROOT/output/ext4_online_defrag_result.txt 2>&1 mount -t ext4 -o nodelalloc $EXT4_DEV mnt_point if [ $? -ne 0 ]; then @@ -137,7 +142,7 @@ ext4_test_online_defrag() return 1 fi - age_filesystem $2 $1 + age_filesystem $2 $1 >> $LTPROOT/output/ext4_online_defrag_result.txt 2>&1 my_e4defrag $1 $2 >> $LTPROOT/output/ext4_online_defrag_result.txt if [ $? -ne 0 ]; then @@ -152,18 +157,21 @@ ext4_test_online_defrag() return 1 fi - e2fsck -p $EXT4_DEV + e2fsck -p $EXT4_DEV >> \ + $LTPROOT/output/ext4_online_defrag_result.txt 2>&1 if [ $? -ne 0 ]; then tst_resm TFAIL "fsck returned failure" return 1 fi - tst_resm TPASS "ext4 online defrag test pass(defrag type: $1, Aging: $2, block size: $3)" + tst_resm TPASS "ext4 online defrag test pass" } # main ext4_setup +rm -f $LTPROOT/output/ext4_online_defrag_result.txt + DEFRAG=( $FILE $DIR $FILESYSTEM ) AGING=( $EMPTY $SMALL $LARGE ) BLOCK_SIZE=( 1024 4096 ) diff --git a/testcases/kernel/fs/ext4-new-features/ext4-persist-prealloc/ext4_persist_prealloc_test.sh b/testcases/kernel/fs/ext4-new-features/ext4-persist-prealloc/ext4_persist_prealloc_test.sh index 0d293e8..e895d25 100755 --- a/testcases/kernel/fs/ext4-new-features/ext4-persist-prealloc/ext4_persist_prealloc_test.sh +++ b/testcases/kernel/fs/ext4-new-features/ext4-persist-prealloc/ext4_persist_prealloc_test.sh @@ -43,7 +43,7 @@ export TDIRECTORY=$PWD/mnt_point/ # $1: 1024 or 4096 ext4_test_persist_prealloc() { - mkfs.ext4 -I 256 -b $1 $EXT4_DEV > /dev/null + mkfs.ext4 -I 256 -b $1 $EXT4_DEV &> /dev/null if [ $? -ne 0 ]; then tst_resm TFAIL "failed to create ext4 filesystem" return 1 @@ -81,7 +81,7 @@ ext4_test_persist_prealloc() return 1 fi - e2fsck -p $EXT4_DEV + e2fsck -p $EXT4_DEV &> /dev/null if [ $? -ne 0 ]; then tst_resm TFAIL "fsck returned failure" return 1 diff --git a/testcases/kernel/fs/ext4-new-features/ext4-subdir-limit/ext4_subdir_limit_test.sh b/testcases/kernel/fs/ext4-new-features/ext4-subdir-limit/ext4_subdir_limit_test.sh index 42c4336..5631fe5 100755 --- a/testcases/kernel/fs/ext4-new-features/ext4-subdir-limit/ext4_subdir_limit_test.sh +++ b/testcases/kernel/fs/ext4-new-features/ext4-subdir-limit/ext4_subdir_limit_test.sh @@ -28,7 +28,7 @@ cd $LTPROOT/testcases/bin . ./ext4_funcs.sh export TCID="ext4-subdir-limit" -export TST_TOTAL=12 +export TST_TOTAL=10 export TST_COUNT=1 # $1: the test config @@ -59,20 +59,20 @@ ext4_run_case() dir_name_len="long name" fi - tst_resm TINFO "Num of dirs to create: $1, Dir name len: $dir_name_len \ - Parent dir: $3, Block size: $4" + tst_resm TINFO "Num of dirs to create: $1, Dir name len: $dir_name_len, " \ + "Parent dir: $3, Block size: $4" # only mkfs if block size has been changed, # or previous case failed if [ $prev_result -ne $PASS -o $4 -ne $prev_block_size ]; then - mkfs.ext4 -b $4 -I 256 $EXT4_DEV > /dev/null + mkfs.ext4 -b $4 -I 256 $EXT4_DEV &> /dev/null if [ $? -ne 0 ]; then tst_resm TFAIL "failed to create ext4 filesystem" return 1 fi prev_block_size=$4 - tune2fs -E test_fs -O extents $EXT4_DEV + tune2fs -O extents $EXT4_DEV &> /dev/null fi prev_result=$FAIL @@ -120,14 +120,14 @@ ext4_run_case() fi # run fsck to make sure the filesystem has no errors - e2fsck -p $EXT4_DEV + e2fsck -p $EXT4_DEV &> /dev/null if [ $? -ne 0 ]; then tst_resm TFAIL "fsck: the filesystem has errors" return 1 fi # check dir_nlink is set - dumpe2fs $EXT4_DEV | grep '^Filesystem features' | grep -q dir_nlink + dumpe2fs $EXT4_DEV 2> /dev/null | grep '^Filesystem features' | grep -q dir_nlink if [ $? -ne 0 ]; then tst_resm TFAIL "feature dir_nlink is not set" return 1 @@ -152,6 +152,9 @@ for ((i = 0; i < 3; i++)) { for ((k = 0; k < 2; k++)) { + if [ $i -eq $LONG_DIR -a $k -eq 1024 ]; then + continue + fi ext4_run_case 65537 ${DIR_LEN[$k]} ${PARENT_DIR[$j]} \ ${BLOCK_SIZE[$i]} if [ $? -ne 0 ]; then diff --git a/testcases/kernel/fs/ext4-new-features/ext4-uninit-groups/ext4_uninit_groups_test.sh b/testcases/kernel/fs/ext4-new-features/ext4-uninit-groups/ext4_uninit_groups_test.sh index 27cbb5f..b479c8f 100755 --- a/testcases/kernel/fs/ext4-new-features/ext4-uninit-groups/ext4_uninit_groups_test.sh +++ b/testcases/kernel/fs/ext4-new-features/ext4-uninit-groups/ext4_uninit_groups_test.sh @@ -40,8 +40,8 @@ LARGE=3 # filesystem free size in bytes: blocks_size * free_blocks filesystem_free_size() { - bsize=`dumpe2fs -h $EXT4_DEV | grep 'Block size' | awk '{ print $2 }'` - blocks=`dumpe2fs -h $EXT4_DEV | grep 'Free blocks'| awk '{ print $2 }'` + bsize=`dumpe2fs -h $EXT4_DEV 2> /dev/null | grep 'Block size' | awk '{ print $2 }'` + blocks=`dumpe2fs -h $EXT4_DEV 2> /dev/null | grep 'Free blocks'| awk '{ print $2 }'` echo $bsize * $blocks } @@ -61,9 +61,9 @@ age_filesystem() } elif [ $1 -eq $LARGE ]; then rm -rf mnt_point/* - bsize=`dumpe2fs -h $EXT4_DEV | grep 'Block size'` + bsize=`dumpe2fs -h $EXT4_DEV 2> /dev/null | grep 'Block size'` bsize=`echo $bsize | awk '{ print $3 }'` - bcount=`dumpe2fs -h $EXT4_DEV | grep 'Free blocks'` + bcount=`dumpe2fs -h $EXT4_DEV 2> /dev/null | grep 'Free blocks'` bcount=`echo $bcount | awk '{ print $3 }'` dd if=/dev/zero of=mnt_point/tmp_dir bs=$bsize count=$bcount else @@ -80,7 +80,9 @@ age_filesystem() # $4: age filesystem: $EMPTY, $SMALL, $LARGE ext4_test_uninit_groups() { - mkfs.ext4 -I 256 -m 0 $EXT4_DEV > /dev/null + echo "Test $TST_COUNT" >> $LTPROOT/output/ext4_uninit_groups_result.txt + + mkfs.ext4 -I 256 -m 0 $EXT4_DEV &> /dev/null if [ $? -ne 0 ]; then tst_resm TFAIL "failed to create ext4 filesystem" return 1 @@ -92,10 +94,10 @@ ext4_test_uninit_groups() flag=$3 fi - tune2fs -E test_fs -O extents,uninit_groups,$flag $EXT4_DEV + tune2fs -O extents,uninit_groups,$flag $EXT4_DEV &> /dev/null # Must run fsck after setting uninit_groups - fsck -p $EXT4_DEV > /dev/null + fsck -p $EXT4_DEV &> /dev/null mount -t ext4 -o $1,$2 $EXT4_DEV mnt_point if [ $? -ne 0 ]; then @@ -103,7 +105,7 @@ ext4_test_uninit_groups() return 1 fi - age_filesystem $4 + age_filesystem $4 >> $LTPROOT/output/ext4_uninit_groups_result.txt 2>&1 if [ $? -ne 0 ]; then tst_resm TFAIL "age filesystem failed" umount mnt_point @@ -116,7 +118,7 @@ ext4_test_uninit_groups() return 1 fi - fsck -p $EXT4_DEV + fsck -p $EXT4_DEV &> /dev/null if [ $? -ne 0 ]; then tst_resm TFAIL "fsck returned failure" return 1 @@ -135,6 +137,8 @@ AGING=( $EMPTY $SMALL $LARGE ) RET=0 +rm -f $LTPROOT/output/ext4_uninit_groups_result.txt + for ((i = 0; i < 2; i++)) { for ((j = 0; j < 2; j++)) -- 1.6.5.2 |
From: Miao X. <mi...@cn...> - 2009-11-30 09:35:48
Attachments:
ext4_result
|
Hi, Subrata The attached file is the test result of ext4 new features on my x86_64 box. Regards Miao on 2009-11-30 11:28, Miao Xie wrote: > Hi, Subrata > > I'm sorry. There is something wrong in the patch that I sent on > 2009-11-26. So > I made a new patch to instead of it. > > And Subrata, I didn't find these failure about online defrag on my box. > The attached patch opens the verbose mode of e4defrag to get more > information later, it is > useful to find the problem of online defrag. So, Could you test it again > and send the output > info to me? > > This patch can fix the following problem: > -- delete the code of setting the test_fs flag > -- open the verbose mode of e4defrag, it is useful to find the problem > of online defrag > -- fix some bug of the Makefile > -- throw the utilities version info away > -- delete two unnecessary testcases about ext4 subdir limit test > > Signed-off-by: Miao Xie <mi...@cn...> > --- > testcases/kernel/fs/ext4-new-features/Makefile | 20 ++++++++++---- > testcases/kernel/fs/ext4-new-features/README | 7 +---- > .../ext4-delalloc-mballoc/ext4-alloc-test.sh | 15 ++++------ > .../ext4-inode-version/ext4_get_inode_version.sh | 2 +- > .../ext4-inode-version/ext4_inode_version_test.sh | 10 +++---- > .../ext4-journal-checksum/ext4_journal_checksum.sh | 12 ++++---- > .../ext4_nsec_timestamps_test.sh | 8 ++--- > .../ext4-online-defrag/ext4_online_defrag_test.sh | 28 > ++++++++++++------- > .../ext4_persist_prealloc_test.sh | 4 +- > .../ext4-subdir-limit/ext4_subdir_limit_test.sh | 17 +++++++----- > .../ext4-uninit-groups/ext4_uninit_groups_test.sh | 22 +++++++++------ > 11 files changed, 78 insertions(+), 67 deletions(-) > > diff --git a/testcases/kernel/fs/ext4-new-features/Makefile > b/testcases/kernel/fs/ext4-new-features/Makefile > index 0e09dd6..208b8a6 100644 > --- a/testcases/kernel/fs/ext4-new-features/Makefile > +++ b/testcases/kernel/fs/ext4-new-features/Makefile > @@ -22,17 +22,25 @@ top_srcdir ?= ../../../.. > > include $(top_srcdir)/include/mk/env_pre.mk > > -INSTALL_TARGETS := *.sh > -INSTALL_TARGETS := ext4-test-config > -INSTALL_TARGETS := ffsb-6.0-rc2/ffsb > +INSTALL_TARGETS += ffsb > +INSTALL_TARGETS += run_ext4_test.sh > +INSTALL_TARGETS += ext4_funcs.sh > +INSTALL_TARGETS += ext4-test-config > > -FILTER_OUT_DIRS := ffsb-6.0-rc2 > +FFSBDIR := ffsb-6.0-rc2 > +FILTER_OUT_DIRS := $(FFSBDIR) > +FFSB := $(FFSBDIR)/ffsb > > -trunk-all: ffsb-6.0-rc2 > +$(FFSB): $(FFSBDIR) > + $(MAKE) -C $^ -f "$(abs_srcdir)/$^/Makefile" all > + cp $(FFSBDIR)/ffsb ffsb > + > +trunk-all: $(FFSB) > > trunk-clean:: | ffsb-clean > > -ffsb-clean:: ffsb-6.0-rc2 > +ffsb-clean:: $(FFSBDIR) > $(MAKE) -C $^ -f "$(abs_srcdir)/$^/Makefile" clean > + rm -rf ffsb > > include $(top_srcdir)/include/mk/generic_trunk_target.mk > diff --git a/testcases/kernel/fs/ext4-new-features/README > b/testcases/kernel/fs/ext4-new-features/README > index 0ea0460..bda16e5 100644 > --- a/testcases/kernel/fs/ext4-new-features/README > +++ b/testcases/kernel/fs/ext4-new-features/README > @@ -9,7 +9,7 @@ with increasing disk capacities and state-of-the-art > feature requirements. More > extensive information of ext4 can be found at the ext4 wiki site at the > URL: > http://ext4.wiki.kernel.org > > -There are total 119 testcases for ext4 new features test that have been > added. > +There are total 117 testcases for ext4 new features test that have been > added. > Now, these testcases can test multi-block alloc/delayed alloc, inode > version > field on disk, journal checksumming, nanosec timestamps, online defrag, > persist > prealloc, subdirectory limit and uninit groups of ext4. > @@ -111,11 +111,6 @@ Directory containing the shell script which is used > to test subdirectory limit > of ext4. According to the kernel documentation, we create more than 32000 > subdirectorys on the ext4 filesystem. > > -But, when then block size is small, such as 1024, and the name of every > -subdirectory is very long, such as every name is 255 bytes, we can just > create > -less than 20000 subdirectory. In this test suite, there is two FAIL > cases by > -reason of it. > - > ext4-uninit-groups > ------------------ > Directory containing the shell script which is used to test > uninitialized groups > diff --git > a/testcases/kernel/fs/ext4-new-features/ext4-delalloc-mballoc/ext4-alloc-test.sh > b/testcases/kernel/fs/ext4-new-features/ext4-delalloc-mballoc/ext4-alloc-test.sh > > index ec2f389..be7b074 100755 > --- > a/testcases/kernel/fs/ext4-new-features/ext4-delalloc-mballoc/ext4-alloc-test.sh > > +++ > b/testcases/kernel/fs/ext4-new-features/ext4-delalloc-mballoc/ext4-alloc-test.sh > > @@ -37,14 +37,12 @@ read_config $1 > # Case 17: mount ext4 partition to ext3 > ext4_test_remount() > { > - mkfs.ext3 -I 256 -b 1024 $EXT4_DEV > /dev/null > + mkfs.ext3 -I 256 -b 1024 $EXT4_DEV &> /dev/null > if [ $? -ne 0 ]; then > tst_resm TFAIL "failed to create ext4 filesystem" > return 1 > fi > > - tune2fs -E test_fs $EXT4_DEV > - > mount -t ext4 -o delalloc,auto_da_alloc $EXT4_DEV mnt_point > if [ $? -ne 0 ]; then > tst_resm TFAIL "failed to mount ext4 filesystem" > @@ -71,7 +69,7 @@ ext4_test_remount() > fi > umount mnt_point > > - fsck -p $EXT4_DEV > + fsck -p $EXT4_DEV &> /dev/null > if [ $? -ne 0 ]; then > tst_resm TFAIL "fsck returned failure" > return 1 > @@ -87,16 +85,15 @@ ext4_test_remount() > # $4: auto_da_alloc > ext4_test_delalloc_mballoc() > { > - tst_resm TINFO "isDelalloc: $1, isDirectIO: $2, Blocksize: $3, \ > - isAuto_da_alloc: $4" > + tst_resm TINFO "isDelalloc: $1, isDirectIO: $2, Blocksize: $3, > isAuto_da_alloc: $4" > > - mkfs.ext4 -I 256 -b $3 /$EXT4_DEV > /dev/null > + mkfs.ext4 -I 256 -b $3 /$EXT4_DEV &> /dev/null > if [ $? -ne 0 ]; then > tst_resm TFAIL "failed to create ext4 filesystem" > return 1 > fi > > - tune2fs -E test_fs -O extents $EXT4_DEV > + tune2fs -O extents $EXT4_DEV &> /dev/null > > mount -t ext4 -o $1,$4 $EXT4_DEV mnt_point > if [ $? -ne 0 ]; then > @@ -117,7 +114,7 @@ ext4_test_delalloc_mballoc() > return 1 > fi > > - fsck -p $EXT4_DEV > + fsck -p $EXT4_DEV &> /dev/null > if [ $? -ne 0 ]; then > tst_resm TFAIL "fsck returned failure" > return 1 > diff --git > a/testcases/kernel/fs/ext4-new-features/ext4-inode-version/ext4_get_inode_version.sh > b/testcases/kernel/fs/ext4-new-features/ext4-inode-version/ext4_get_inode_version.sh > > index 8f5c907..0e7a8b6 100755 > --- > a/testcases/kernel/fs/ext4-new-features/ext4-inode-version/ext4_get_inode_version.sh > > +++ > b/testcases/kernel/fs/ext4-new-features/ext4-inode-version/ext4_get_inode_version.sh > > @@ -24,7 +24,7 @@ > #$2: 1 - return inode version by return value > # !1 - writting inode version to stddev > > -inode_version=`debugfs -R "stat $1" $EXT4_DEV | grep 'Version' | awk '{ > +inode_version=`debugfs -R "stat $1" $EXT4_DEV 2> /dev/null | grep > 'Version' | awk '{ > print $NF }'` > > # The inode_version's format: '0x0000000a' or '0x00000000:0000000a', > diff --git > a/testcases/kernel/fs/ext4-new-features/ext4-inode-version/ext4_inode_version_test.sh > b/testcases/kernel/fs/ext4-new-features/ext4-inode-version/ext4_inode_version_test.sh > > index f27248b..4a58b36 100755 > --- > a/testcases/kernel/fs/ext4-new-features/ext4-inode-version/ext4_inode_version_test.sh > > +++ > b/testcases/kernel/fs/ext4-new-features/ext4-inode-version/ext4_inode_version_test.sh > > @@ -41,13 +41,13 @@ ext4_test_128_inode_version() > { > tst_resm TINFO "Test inode version is 32 bits with 128 inode size" > > - mkfs.ext4 -I 128 $EXT4_DEV > /dev/null > + mkfs.ext4 -I 128 $EXT4_DEV &> /dev/null > if [ $? -ne 0 ]; then > tst_resm TFAIL "failed to create ext4 filesystem" > return 1 > fi > > - tune2fs -E test_fs -O extents $EXT4_DEV > + tune2fs -O extents $EXT4_DEV &> /dev/null > > mount -t ext4 -o i_version $EXT4_DEV mnt_point > if [ $? -ne 0 ]; then > @@ -67,7 +67,7 @@ ext4_test_128_inode_version() > fi > > # inode version is 32 bits: 0x00000000 > - version=`debugfs $EXT4_DEV -R "stat tmp_file" | grep 'Version'` > + version=`debugfs $EXT4_DEV -R "stat tmp_file" 2> /dev/null | grep > 'Version'` > version=`echo $version | awk '{ print $NF }'` > version=`echo $version | sed 's/^0x//'` > len=${#version} > @@ -91,14 +91,12 @@ ext4_test_128_inode_version() > # $1: file operation > test_inode_version() > { > - mkfs.ext3 -I 256 $EXT4_DEV > /dev/null > + mkfs.ext3 -I 256 $EXT4_DEV &> /dev/null > if [ $? -ne 0 ]; then > tst_resm TFAIL "failed to create ext4 filesystem" > return 1 > fi > > - tune2fs -E test_fs $EXT4_DEV > /dev/null > - > mount -t ext4 -o i_version $EXT4_DEV mnt_point > if [ $? -ne 0 ]; then > tst_resm TFAIL "failed to mount ext4 filesystem" > diff --git > a/testcases/kernel/fs/ext4-new-features/ext4-journal-checksum/ext4_journal_checksum.sh > b/testcases/kernel/fs/ext4-new-features/ext4-journal-checksum/ext4_journal_checksum.sh > > index 550afa1..eb72b5d 100755 > --- > a/testcases/kernel/fs/ext4-new-features/ext4-journal-checksum/ext4_journal_checksum.sh > > +++ > b/testcases/kernel/fs/ext4-new-features/ext4-journal-checksum/ext4_journal_checksum.sh > > @@ -59,17 +59,17 @@ ext4_test_journal_checksum() > async_commit="Used" > fi > > - tst_resm TINFO "journal mode: $1, commit interval: $2, \ > - journal_checksum: $checksum, \ > - journal_async_commit: $async_commit, barrier: $5" > + tst_resm TINFO "journal mode: $1, commit interval: $2, " \ > + "journal_checksum: $checksum, " \ > + "journal_async_commit: $async_commit, barrier: $5" > > - mkfs.ext4 -I 256 $EXT4_DEV > /dev/null > + mkfs.ext4 -I 256 $EXT4_DEV &> /dev/null > if [ $? -ne 0 ]; then > tst_resm TFAIL "failed to create ext4 filesystem" > return 1 > fi > > - tune2fs -E test_fs -O extents $EXT4_DEV > + tune2fs -O extents $EXT4_DEV &> /dev/null > > mount -t ext4 -o data=$1,commit=$2,$3,$4,barrier=$5 $EXT4_DEV > mnt_point > if [ $? -ne 0 ]; then > @@ -90,7 +90,7 @@ ext4_test_journal_checksum() > return 1 > fi > > - e2fsck -p $EXT4_DEV > + e2fsck -p $EXT4_DEV &> /dev/null > if [ $? -ne 0 ]; then > tst_resm TFAIL "fsck returned failure" > return 1 > diff --git > a/testcases/kernel/fs/ext4-new-features/ext4-nsec-timestamps/ext4_nsec_timestamps_test.sh > b/testcases/kernel/fs/ext4-new-features/ext4-nsec-timestamps/ext4_nsec_timestamps_test.sh > > index ced6576..cc00507 100755 > --- > a/testcases/kernel/fs/ext4-new-features/ext4-nsec-timestamps/ext4_nsec_timestamps_test.sh > > +++ > b/testcases/kernel/fs/ext4-new-features/ext4-nsec-timestamps/ext4_nsec_timestamps_test.sh > > @@ -41,13 +41,13 @@ ext4_test_sec_timestamps() > { > tst_resm TINFO "Test timestamps with 128 inode size" > > - mkfs.ext4 -I 128 $EXT4_DEV > /dev/null > + mkfs.ext4 -I 128 $EXT4_DEV &> /dev/null > if [ $? -ne 0 ]; then > tst_resm TFAIL "failed to create ext4 filesystem" > return 1 > fi > > - tune2fs -E test_fs -O extents $EXT4_DEV > + tune2fs -O extents $EXT4_DEV &> /dev/null > > mount -t ext4 $EXT4_DEV mnt_point > if [ $? -ne 0 ]; then > @@ -82,14 +82,12 @@ ext4_test_nsec_timestamps() > { > tst_resm TINFO "Test timestamps with 256 inode size" > > - mkfs.ext3 -I 256 $EXT4_DEV > /dev/null > + mkfs.ext3 -I 256 $EXT4_DEV &> /dev/null > if [ $? -ne 0 ]; then > tst_resm TFAIL "failed to create ext4 filesystem" > return 1 > fi > > - tune2fs -E test_fs $EXT4_DEV > - > mount -t ext4 $EXT4_DEV mnt_point > if [ $? -ne 0 ]; then > tst_resm TFAIL "failed to mount ext4 filesystem" > diff --git > a/testcases/kernel/fs/ext4-new-features/ext4-online-defrag/ext4_online_defrag_test.sh > b/testcases/kernel/fs/ext4-new-features/ext4-online-defrag/ext4_online_defrag_test.sh > > index 84613c8..7b4dda3 100755 > --- > a/testcases/kernel/fs/ext4-new-features/ext4-online-defrag/ext4_online_defrag_test.sh > > +++ > b/testcases/kernel/fs/ext4-new-features/ext4-online-defrag/ext4_online_defrag_test.sh > > @@ -94,23 +94,23 @@ my_e4defrag() > { > if [ $1 -eq $FILE ]; then > if [ $2 -eq $SMALL ]; then > - ./e4defrag mnt_point/data0/ > + ./e4defrag -v mnt_point/data0/ > return $? > # EMPTY or LARGE > else > - ./e4defrag mnt_point/tmp_file > + ./e4defrag -v mnt_point/tmp_file > return $? > fi > elif [ $1 -eq $DIR ]; then > if [ $2 -eq $SMALL ]; then > - ./e4defrag mnt_point/data0/ > + ./e4defrag -v mnt_point/data0/ > return $? > else > - ./e4defrag mnt_point/tmp_dir > + ./e4defrag -v mnt_point/tmp_dir > return $? > fi > else > - ./e4defrag $EXT4_DEV > + ./e4defrag -v $EXT4_DEV > return $? > fi > } > @@ -121,15 +121,20 @@ my_e4defrag() > # $3: block size > ext4_test_online_defrag() > { > + echo Test $TST_COUNT start >> \ > + $LTPROOT/output/ext4_online_defrag_result.txt > + > tst_resm TINFO "defrag type: $1, defrag obj: $2, block size: $3" > > - mkfs.ext4 -m 0 -b $3 -O ^flex_bg $EXT4_DEV > /dev/null > + mkfs.ext4 -m 0 -b $3 -O ^flex_bg $EXT4_DEV >> \ > + $LTPROOT/output/ext4_online_defrag_result.txt 2>&1 > if [ $? -ne 0 ]; then > tst_resm TFAIL "failed to create ext4 filesystem" > return 1 > fi > > - tune2fs -E test_fs -O extents $EXT4_DEV > + tune2fs -O extents $EXT4_DEV >> \ > + $LTPROOT/output/ext4_online_defrag_result.txt 2>&1 > > mount -t ext4 -o nodelalloc $EXT4_DEV mnt_point > if [ $? -ne 0 ]; then > @@ -137,7 +142,7 @@ ext4_test_online_defrag() > return 1 > fi > > - age_filesystem $2 $1 > + age_filesystem $2 $1 >> > $LTPROOT/output/ext4_online_defrag_result.txt 2>&1 > > my_e4defrag $1 $2 >> $LTPROOT/output/ext4_online_defrag_result.txt > if [ $? -ne 0 ]; then > @@ -152,18 +157,21 @@ ext4_test_online_defrag() > return 1 > fi > > - e2fsck -p $EXT4_DEV > + e2fsck -p $EXT4_DEV >> \ > + $LTPROOT/output/ext4_online_defrag_result.txt 2>&1 > if [ $? -ne 0 ]; then > tst_resm TFAIL "fsck returned failure" > return 1 > fi > > - tst_resm TPASS "ext4 online defrag test pass(defrag type: $1, > Aging: $2, block size: $3)" > + tst_resm TPASS "ext4 online defrag test pass" > } > > # main > ext4_setup > > +rm -f $LTPROOT/output/ext4_online_defrag_result.txt > + > DEFRAG=( $FILE $DIR $FILESYSTEM ) > AGING=( $EMPTY $SMALL $LARGE ) > BLOCK_SIZE=( 1024 4096 ) > diff --git > a/testcases/kernel/fs/ext4-new-features/ext4-persist-prealloc/ext4_persist_prealloc_test.sh > b/testcases/kernel/fs/ext4-new-features/ext4-persist-prealloc/ext4_persist_prealloc_test.sh > > index 0d293e8..e895d25 100755 > --- > a/testcases/kernel/fs/ext4-new-features/ext4-persist-prealloc/ext4_persist_prealloc_test.sh > > +++ > b/testcases/kernel/fs/ext4-new-features/ext4-persist-prealloc/ext4_persist_prealloc_test.sh > > @@ -43,7 +43,7 @@ export TDIRECTORY=$PWD/mnt_point/ > # $1: 1024 or 4096 > ext4_test_persist_prealloc() > { > - mkfs.ext4 -I 256 -b $1 $EXT4_DEV > /dev/null > + mkfs.ext4 -I 256 -b $1 $EXT4_DEV &> /dev/null > if [ $? -ne 0 ]; then > tst_resm TFAIL "failed to create ext4 filesystem" > return 1 > @@ -81,7 +81,7 @@ ext4_test_persist_prealloc() > return 1 > fi > > - e2fsck -p $EXT4_DEV > + e2fsck -p $EXT4_DEV &> /dev/null > if [ $? -ne 0 ]; then > tst_resm TFAIL "fsck returned failure" > return 1 > diff --git > a/testcases/kernel/fs/ext4-new-features/ext4-subdir-limit/ext4_subdir_limit_test.sh > b/testcases/kernel/fs/ext4-new-features/ext4-subdir-limit/ext4_subdir_limit_test.sh > > index 42c4336..5631fe5 100755 > --- > a/testcases/kernel/fs/ext4-new-features/ext4-subdir-limit/ext4_subdir_limit_test.sh > > +++ > b/testcases/kernel/fs/ext4-new-features/ext4-subdir-limit/ext4_subdir_limit_test.sh > > @@ -28,7 +28,7 @@ cd $LTPROOT/testcases/bin > . ./ext4_funcs.sh > > export TCID="ext4-subdir-limit" > -export TST_TOTAL=12 > +export TST_TOTAL=10 > export TST_COUNT=1 > > # $1: the test config > @@ -59,20 +59,20 @@ ext4_run_case() > dir_name_len="long name" > fi > > - tst_resm TINFO "Num of dirs to create: $1, Dir name len: > $dir_name_len \ > - Parent dir: $3, Block size: $4" > + tst_resm TINFO "Num of dirs to create: $1, Dir name len: > $dir_name_len, " \ > + "Parent dir: $3, Block size: $4" > > # only mkfs if block size has been changed, > # or previous case failed > if [ $prev_result -ne $PASS -o $4 -ne $prev_block_size ]; then > - mkfs.ext4 -b $4 -I 256 $EXT4_DEV > /dev/null > + mkfs.ext4 -b $4 -I 256 $EXT4_DEV &> /dev/null > if [ $? -ne 0 ]; then > tst_resm TFAIL "failed to create ext4 filesystem" > return 1 > fi > prev_block_size=$4 > > - tune2fs -E test_fs -O extents $EXT4_DEV > + tune2fs -O extents $EXT4_DEV &> /dev/null > fi > > prev_result=$FAIL > @@ -120,14 +120,14 @@ ext4_run_case() > fi > > # run fsck to make sure the filesystem has no errors > - e2fsck -p $EXT4_DEV > + e2fsck -p $EXT4_DEV &> /dev/null > if [ $? -ne 0 ]; then > tst_resm TFAIL "fsck: the filesystem has errors" > return 1 > fi > > # check dir_nlink is set > - dumpe2fs $EXT4_DEV | grep '^Filesystem features' | grep -q dir_nlink > + dumpe2fs $EXT4_DEV 2> /dev/null | grep '^Filesystem features' | > grep -q dir_nlink > if [ $? -ne 0 ]; then > tst_resm TFAIL "feature dir_nlink is not set" > return 1 > @@ -152,6 +152,9 @@ for ((i = 0; i < 3; i++)) > { > for ((k = 0; k < 2; k++)) > { > + if [ $i -eq $LONG_DIR -a $k -eq 1024 ]; then > + continue > + fi > ext4_run_case 65537 ${DIR_LEN[$k]} ${PARENT_DIR[$j]} \ > ${BLOCK_SIZE[$i]} > if [ $? -ne 0 ]; then > diff --git > a/testcases/kernel/fs/ext4-new-features/ext4-uninit-groups/ext4_uninit_groups_test.sh > b/testcases/kernel/fs/ext4-new-features/ext4-uninit-groups/ext4_uninit_groups_test.sh > > index 27cbb5f..b479c8f 100755 > --- > a/testcases/kernel/fs/ext4-new-features/ext4-uninit-groups/ext4_uninit_groups_test.sh > > +++ > b/testcases/kernel/fs/ext4-new-features/ext4-uninit-groups/ext4_uninit_groups_test.sh > > @@ -40,8 +40,8 @@ LARGE=3 > # filesystem free size in bytes: blocks_size * free_blocks > filesystem_free_size() > { > - bsize=`dumpe2fs -h $EXT4_DEV | grep 'Block size' | awk '{ print $2 }'` > - blocks=`dumpe2fs -h $EXT4_DEV | grep 'Free blocks'| awk '{ print $2 > }'` > + bsize=`dumpe2fs -h $EXT4_DEV 2> /dev/null | grep 'Block size' | awk > '{ print $2 }'` > + blocks=`dumpe2fs -h $EXT4_DEV 2> /dev/null | grep 'Free blocks'| > awk '{ print $2 }'` > > echo $bsize * $blocks > } > @@ -61,9 +61,9 @@ age_filesystem() > } > elif [ $1 -eq $LARGE ]; then > rm -rf mnt_point/* > - bsize=`dumpe2fs -h $EXT4_DEV | grep 'Block size'` > + bsize=`dumpe2fs -h $EXT4_DEV 2> /dev/null | grep 'Block size'` > bsize=`echo $bsize | awk '{ print $3 }'` > - bcount=`dumpe2fs -h $EXT4_DEV | grep 'Free blocks'` > + bcount=`dumpe2fs -h $EXT4_DEV 2> /dev/null | grep 'Free blocks'` > bcount=`echo $bcount | awk '{ print $3 }'` > dd if=/dev/zero of=mnt_point/tmp_dir bs=$bsize count=$bcount > else > @@ -80,7 +80,9 @@ age_filesystem() > # $4: age filesystem: $EMPTY, $SMALL, $LARGE > ext4_test_uninit_groups() > { > - mkfs.ext4 -I 256 -m 0 $EXT4_DEV > /dev/null > + echo "Test $TST_COUNT" >> > $LTPROOT/output/ext4_uninit_groups_result.txt > + > + mkfs.ext4 -I 256 -m 0 $EXT4_DEV &> /dev/null > if [ $? -ne 0 ]; then > tst_resm TFAIL "failed to create ext4 filesystem" > return 1 > @@ -92,10 +94,10 @@ ext4_test_uninit_groups() > flag=$3 > fi > > - tune2fs -E test_fs -O extents,uninit_groups,$flag $EXT4_DEV > + tune2fs -O extents,uninit_groups,$flag $EXT4_DEV &> /dev/null > > # Must run fsck after setting uninit_groups > - fsck -p $EXT4_DEV > /dev/null > + fsck -p $EXT4_DEV &> /dev/null > > mount -t ext4 -o $1,$2 $EXT4_DEV mnt_point > if [ $? -ne 0 ]; then > @@ -103,7 +105,7 @@ ext4_test_uninit_groups() > return 1 > fi > > - age_filesystem $4 > + age_filesystem $4 >> $LTPROOT/output/ext4_uninit_groups_result.txt > 2>&1 > if [ $? -ne 0 ]; then > tst_resm TFAIL "age filesystem failed" > umount mnt_point > @@ -116,7 +118,7 @@ ext4_test_uninit_groups() > return 1 > fi > > - fsck -p $EXT4_DEV > + fsck -p $EXT4_DEV &> /dev/null > if [ $? -ne 0 ]; then > tst_resm TFAIL "fsck returned failure" > return 1 > @@ -135,6 +137,8 @@ AGING=( $EMPTY $SMALL $LARGE ) > > RET=0 > > +rm -f $LTPROOT/output/ext4_uninit_groups_result.txt > + > for ((i = 0; i < 2; i++)) > { > for ((j = 0; j < 2; j++)) |
From: Garrett C. <yan...@gm...> - 2009-11-30 10:02:02
|
On Mon, Nov 30, 2009 at 1:39 AM, Miao Xie <mi...@cn...> wrote: > Hi, Subrata > > The attached file is the test result of ext4 new features on my x86_64 box. > > Regards > Miao > > on 2009-11-30 11:28, Miao Xie wrote: >> >> Hi, Subrata >> >> I'm sorry. There is something wrong in the patch that I sent on >> 2009-11-26. So >> I made a new patch to instead of it. >> >> And Subrata, I didn't find these failure about online defrag on my box. >> The attached patch opens the verbose mode of e4defrag to get more >> information later, it is >> useful to find the problem of online defrag. So, Could you test it again >> and send the output >> info to me? >> >> This patch can fix the following problem: >> -- delete the code of setting the test_fs flag >> -- open the verbose mode of e4defrag, it is useful to find the problem of >> online defrag >> -- fix some bug of the Makefile >> -- throw the utilities version info away >> -- delete two unnecessary testcases about ext4 subdir limit test >> >> Signed-off-by: Miao Xie <mi...@cn...> >> --- >> testcases/kernel/fs/ext4-new-features/Makefile | 20 ++++++++++---- >> testcases/kernel/fs/ext4-new-features/README | 7 +---- >> .../ext4-delalloc-mballoc/ext4-alloc-test.sh | 15 ++++------ >> .../ext4-inode-version/ext4_get_inode_version.sh | 2 +- >> .../ext4-inode-version/ext4_inode_version_test.sh | 10 +++---- >> .../ext4-journal-checksum/ext4_journal_checksum.sh | 12 ++++---- >> .../ext4_nsec_timestamps_test.sh | 8 ++--- >> .../ext4-online-defrag/ext4_online_defrag_test.sh | 28 >> ++++++++++++------- >> .../ext4_persist_prealloc_test.sh | 4 +- >> .../ext4-subdir-limit/ext4_subdir_limit_test.sh | 17 +++++++----- >> .../ext4-uninit-groups/ext4_uninit_groups_test.sh | 22 +++++++++------ >> 11 files changed, 78 insertions(+), 67 deletions(-) >> >> diff --git a/testcases/kernel/fs/ext4-new-features/Makefile >> b/testcases/kernel/fs/ext4-new-features/Makefile >> index 0e09dd6..208b8a6 100644 >> --- a/testcases/kernel/fs/ext4-new-features/Makefile >> +++ b/testcases/kernel/fs/ext4-new-features/Makefile >> @@ -22,17 +22,25 @@ top_srcdir ?= ../../../.. >> >> include $(top_srcdir)/include/mk/env_pre.mk >> >> -INSTALL_TARGETS := *.sh >> -INSTALL_TARGETS := ext4-test-config >> -INSTALL_TARGETS := ffsb-6.0-rc2/ffsb >> +INSTALL_TARGETS += ffsb >> +INSTALL_TARGETS += run_ext4_test.sh >> +INSTALL_TARGETS += ext4_funcs.sh >> +INSTALL_TARGETS += ext4-test-config >> >> -FILTER_OUT_DIRS := ffsb-6.0-rc2 >> +FFSBDIR := ffsb-6.0-rc2 >> +FILTER_OUT_DIRS := $(FFSBDIR) >> +FFSB := $(FFSBDIR)/ffsb >> >> -trunk-all: ffsb-6.0-rc2 >> +$(FFSB): $(FFSBDIR) >> + $(MAKE) -C $^ -f "$(abs_srcdir)/$^/Makefile" all >> + cp $(FFSBDIR)/ffsb ffsb >> + >> +trunk-all: $(FFSB) >> >> trunk-clean:: | ffsb-clean >> >> -ffsb-clean:: ffsb-6.0-rc2 >> +ffsb-clean:: $(FFSBDIR) >> $(MAKE) -C $^ -f "$(abs_srcdir)/$^/Makefile" clean >> + rm -rf ffsb >> >> include $(top_srcdir)/include/mk/generic_trunk_target.mk >> diff --git a/testcases/kernel/fs/ext4-new-features/README >> b/testcases/kernel/fs/ext4-new-features/README >> index 0ea0460..bda16e5 100644 >> --- a/testcases/kernel/fs/ext4-new-features/README >> +++ b/testcases/kernel/fs/ext4-new-features/README >> @@ -9,7 +9,7 @@ with increasing disk capacities and state-of-the-art >> feature requirements. More >> extensive information of ext4 can be found at the ext4 wiki site at the >> URL: >> http://ext4.wiki.kernel.org >> >> -There are total 119 testcases for ext4 new features test that have been >> added. >> +There are total 117 testcases for ext4 new features test that have been >> added. >> Now, these testcases can test multi-block alloc/delayed alloc, inode >> version >> field on disk, journal checksumming, nanosec timestamps, online defrag, >> persist >> prealloc, subdirectory limit and uninit groups of ext4. >> @@ -111,11 +111,6 @@ Directory containing the shell script which is used >> to test subdirectory limit >> of ext4. According to the kernel documentation, we create more than 32000 >> subdirectorys on the ext4 filesystem. >> >> -But, when then block size is small, such as 1024, and the name of every >> -subdirectory is very long, such as every name is 255 bytes, we can just >> create >> -less than 20000 subdirectory. In this test suite, there is two FAIL cases >> by >> -reason of it. >> - >> ext4-uninit-groups >> ------------------ >> Directory containing the shell script which is used to test uninitialized >> groups >> diff --git >> a/testcases/kernel/fs/ext4-new-features/ext4-delalloc-mballoc/ext4-alloc-test.sh >> b/testcases/kernel/fs/ext4-new-features/ext4-delalloc-mballoc/ext4-alloc-test.sh >> index ec2f389..be7b074 100755 >> --- >> a/testcases/kernel/fs/ext4-new-features/ext4-delalloc-mballoc/ext4-alloc-test.sh >> +++ >> b/testcases/kernel/fs/ext4-new-features/ext4-delalloc-mballoc/ext4-alloc-test.sh >> @@ -37,14 +37,12 @@ read_config $1 >> # Case 17: mount ext4 partition to ext3 >> ext4_test_remount() >> { >> - mkfs.ext3 -I 256 -b 1024 $EXT4_DEV > /dev/null >> + mkfs.ext3 -I 256 -b 1024 $EXT4_DEV &> /dev/null >> if [ $? -ne 0 ]; then >> tst_resm TFAIL "failed to create ext4 filesystem" >> return 1 >> fi >> >> - tune2fs -E test_fs $EXT4_DEV >> - >> mount -t ext4 -o delalloc,auto_da_alloc $EXT4_DEV mnt_point >> if [ $? -ne 0 ]; then >> tst_resm TFAIL "failed to mount ext4 filesystem" >> @@ -71,7 +69,7 @@ ext4_test_remount() >> fi >> umount mnt_point >> >> - fsck -p $EXT4_DEV >> + fsck -p $EXT4_DEV &> /dev/null >> if [ $? -ne 0 ]; then >> tst_resm TFAIL "fsck returned failure" >> return 1 >> @@ -87,16 +85,15 @@ ext4_test_remount() >> # $4: auto_da_alloc >> ext4_test_delalloc_mballoc() >> { >> - tst_resm TINFO "isDelalloc: $1, isDirectIO: $2, Blocksize: $3, \ >> - isAuto_da_alloc: $4" >> + tst_resm TINFO "isDelalloc: $1, isDirectIO: $2, Blocksize: $3, >> isAuto_da_alloc: $4" >> >> - mkfs.ext4 -I 256 -b $3 /$EXT4_DEV > /dev/null >> + mkfs.ext4 -I 256 -b $3 /$EXT4_DEV &> /dev/null >> if [ $? -ne 0 ]; then >> tst_resm TFAIL "failed to create ext4 filesystem" >> return 1 >> fi >> >> - tune2fs -E test_fs -O extents $EXT4_DEV >> + tune2fs -O extents $EXT4_DEV &> /dev/null >> >> mount -t ext4 -o $1,$4 $EXT4_DEV mnt_point >> if [ $? -ne 0 ]; then >> @@ -117,7 +114,7 @@ ext4_test_delalloc_mballoc() >> return 1 >> fi >> >> - fsck -p $EXT4_DEV >> + fsck -p $EXT4_DEV &> /dev/null >> if [ $? -ne 0 ]; then >> tst_resm TFAIL "fsck returned failure" >> return 1 >> diff --git >> a/testcases/kernel/fs/ext4-new-features/ext4-inode-version/ext4_get_inode_version.sh >> b/testcases/kernel/fs/ext4-new-features/ext4-inode-version/ext4_get_inode_version.sh >> index 8f5c907..0e7a8b6 100755 >> --- >> a/testcases/kernel/fs/ext4-new-features/ext4-inode-version/ext4_get_inode_version.sh >> +++ >> b/testcases/kernel/fs/ext4-new-features/ext4-inode-version/ext4_get_inode_version.sh >> @@ -24,7 +24,7 @@ >> #$2: 1 - return inode version by return value >> # !1 - writting inode version to stddev >> >> -inode_version=`debugfs -R "stat $1" $EXT4_DEV | grep 'Version' | awk '{ >> +inode_version=`debugfs -R "stat $1" $EXT4_DEV 2> /dev/null | grep >> 'Version' | awk '{ >> print $NF }'` >> >> # The inode_version's format: '0x0000000a' or '0x00000000:0000000a', >> diff --git >> a/testcases/kernel/fs/ext4-new-features/ext4-inode-version/ext4_inode_version_test.sh >> b/testcases/kernel/fs/ext4-new-features/ext4-inode-version/ext4_inode_version_test.sh >> index f27248b..4a58b36 100755 >> --- >> a/testcases/kernel/fs/ext4-new-features/ext4-inode-version/ext4_inode_version_test.sh >> +++ >> b/testcases/kernel/fs/ext4-new-features/ext4-inode-version/ext4_inode_version_test.sh >> @@ -41,13 +41,13 @@ ext4_test_128_inode_version() >> { >> tst_resm TINFO "Test inode version is 32 bits with 128 inode size" >> >> - mkfs.ext4 -I 128 $EXT4_DEV > /dev/null >> + mkfs.ext4 -I 128 $EXT4_DEV &> /dev/null >> if [ $? -ne 0 ]; then >> tst_resm TFAIL "failed to create ext4 filesystem" >> return 1 >> fi >> >> - tune2fs -E test_fs -O extents $EXT4_DEV >> + tune2fs -O extents $EXT4_DEV &> /dev/null >> >> mount -t ext4 -o i_version $EXT4_DEV mnt_point >> if [ $? -ne 0 ]; then >> @@ -67,7 +67,7 @@ ext4_test_128_inode_version() >> fi >> >> # inode version is 32 bits: 0x00000000 >> - version=`debugfs $EXT4_DEV -R "stat tmp_file" | grep 'Version'` >> + version=`debugfs $EXT4_DEV -R "stat tmp_file" 2> /dev/null | grep >> 'Version'` >> version=`echo $version | awk '{ print $NF }'` >> version=`echo $version | sed 's/^0x//'` >> len=${#version} >> @@ -91,14 +91,12 @@ ext4_test_128_inode_version() >> # $1: file operation >> test_inode_version() >> { >> - mkfs.ext3 -I 256 $EXT4_DEV > /dev/null >> + mkfs.ext3 -I 256 $EXT4_DEV &> /dev/null >> if [ $? -ne 0 ]; then >> tst_resm TFAIL "failed to create ext4 filesystem" >> return 1 >> fi >> >> - tune2fs -E test_fs $EXT4_DEV > /dev/null >> - >> mount -t ext4 -o i_version $EXT4_DEV mnt_point >> if [ $? -ne 0 ]; then >> tst_resm TFAIL "failed to mount ext4 filesystem" >> diff --git >> a/testcases/kernel/fs/ext4-new-features/ext4-journal-checksum/ext4_journal_checksum.sh >> b/testcases/kernel/fs/ext4-new-features/ext4-journal-checksum/ext4_journal_checksum.sh >> index 550afa1..eb72b5d 100755 >> --- >> a/testcases/kernel/fs/ext4-new-features/ext4-journal-checksum/ext4_journal_checksum.sh >> +++ >> b/testcases/kernel/fs/ext4-new-features/ext4-journal-checksum/ext4_journal_checksum.sh >> @@ -59,17 +59,17 @@ ext4_test_journal_checksum() >> async_commit="Used" >> fi >> >> - tst_resm TINFO "journal mode: $1, commit interval: $2, \ >> - journal_checksum: $checksum, \ >> - journal_async_commit: $async_commit, barrier: $5" >> + tst_resm TINFO "journal mode: $1, commit interval: $2, " \ >> + "journal_checksum: $checksum, " \ >> + "journal_async_commit: $async_commit, barrier: $5" >> >> - mkfs.ext4 -I 256 $EXT4_DEV > /dev/null >> + mkfs.ext4 -I 256 $EXT4_DEV &> /dev/null >> if [ $? -ne 0 ]; then >> tst_resm TFAIL "failed to create ext4 filesystem" >> return 1 >> fi >> >> - tune2fs -E test_fs -O extents $EXT4_DEV >> + tune2fs -O extents $EXT4_DEV &> /dev/null >> >> mount -t ext4 -o data=$1,commit=$2,$3,$4,barrier=$5 $EXT4_DEV >> mnt_point >> if [ $? -ne 0 ]; then >> @@ -90,7 +90,7 @@ ext4_test_journal_checksum() >> return 1 >> fi >> >> - e2fsck -p $EXT4_DEV >> + e2fsck -p $EXT4_DEV &> /dev/null >> if [ $? -ne 0 ]; then >> tst_resm TFAIL "fsck returned failure" >> return 1 >> diff --git >> a/testcases/kernel/fs/ext4-new-features/ext4-nsec-timestamps/ext4_nsec_timestamps_test.sh >> b/testcases/kernel/fs/ext4-new-features/ext4-nsec-timestamps/ext4_nsec_timestamps_test.sh >> index ced6576..cc00507 100755 >> --- >> a/testcases/kernel/fs/ext4-new-features/ext4-nsec-timestamps/ext4_nsec_timestamps_test.sh >> +++ >> b/testcases/kernel/fs/ext4-new-features/ext4-nsec-timestamps/ext4_nsec_timestamps_test.sh >> @@ -41,13 +41,13 @@ ext4_test_sec_timestamps() >> { >> tst_resm TINFO "Test timestamps with 128 inode size" >> >> - mkfs.ext4 -I 128 $EXT4_DEV > /dev/null >> + mkfs.ext4 -I 128 $EXT4_DEV &> /dev/null >> if [ $? -ne 0 ]; then >> tst_resm TFAIL "failed to create ext4 filesystem" >> return 1 >> fi >> >> - tune2fs -E test_fs -O extents $EXT4_DEV >> + tune2fs -O extents $EXT4_DEV &> /dev/null >> >> mount -t ext4 $EXT4_DEV mnt_point >> if [ $? -ne 0 ]; then >> @@ -82,14 +82,12 @@ ext4_test_nsec_timestamps() >> { >> tst_resm TINFO "Test timestamps with 256 inode size" >> >> - mkfs.ext3 -I 256 $EXT4_DEV > /dev/null >> + mkfs.ext3 -I 256 $EXT4_DEV &> /dev/null >> if [ $? -ne 0 ]; then >> tst_resm TFAIL "failed to create ext4 filesystem" >> return 1 >> fi >> >> - tune2fs -E test_fs $EXT4_DEV >> - >> mount -t ext4 $EXT4_DEV mnt_point >> if [ $? -ne 0 ]; then >> tst_resm TFAIL "failed to mount ext4 filesystem" >> diff --git >> a/testcases/kernel/fs/ext4-new-features/ext4-online-defrag/ext4_online_defrag_test.sh >> b/testcases/kernel/fs/ext4-new-features/ext4-online-defrag/ext4_online_defrag_test.sh >> index 84613c8..7b4dda3 100755 >> --- >> a/testcases/kernel/fs/ext4-new-features/ext4-online-defrag/ext4_online_defrag_test.sh >> +++ >> b/testcases/kernel/fs/ext4-new-features/ext4-online-defrag/ext4_online_defrag_test.sh >> @@ -94,23 +94,23 @@ my_e4defrag() >> { >> if [ $1 -eq $FILE ]; then >> if [ $2 -eq $SMALL ]; then >> - ./e4defrag mnt_point/data0/ >> + ./e4defrag -v mnt_point/data0/ >> return $? >> # EMPTY or LARGE >> else >> - ./e4defrag mnt_point/tmp_file >> + ./e4defrag -v mnt_point/tmp_file >> return $? >> fi >> elif [ $1 -eq $DIR ]; then >> if [ $2 -eq $SMALL ]; then >> - ./e4defrag mnt_point/data0/ >> + ./e4defrag -v mnt_point/data0/ >> return $? >> else >> - ./e4defrag mnt_point/tmp_dir >> + ./e4defrag -v mnt_point/tmp_dir >> return $? >> fi >> else >> - ./e4defrag $EXT4_DEV >> + ./e4defrag -v $EXT4_DEV >> return $? >> fi >> } >> @@ -121,15 +121,20 @@ my_e4defrag() >> # $3: block size >> ext4_test_online_defrag() >> { >> + echo Test $TST_COUNT start >> \ >> + $LTPROOT/output/ext4_online_defrag_result.txt >> + >> tst_resm TINFO "defrag type: $1, defrag obj: $2, block size: $3" >> >> - mkfs.ext4 -m 0 -b $3 -O ^flex_bg $EXT4_DEV > /dev/null >> + mkfs.ext4 -m 0 -b $3 -O ^flex_bg $EXT4_DEV >> \ >> + $LTPROOT/output/ext4_online_defrag_result.txt 2>&1 >> if [ $? -ne 0 ]; then >> tst_resm TFAIL "failed to create ext4 filesystem" >> return 1 >> fi >> >> - tune2fs -E test_fs -O extents $EXT4_DEV >> + tune2fs -O extents $EXT4_DEV >> \ >> + $LTPROOT/output/ext4_online_defrag_result.txt 2>&1 >> >> mount -t ext4 -o nodelalloc $EXT4_DEV mnt_point >> if [ $? -ne 0 ]; then >> @@ -137,7 +142,7 @@ ext4_test_online_defrag() >> return 1 >> fi >> >> - age_filesystem $2 $1 >> + age_filesystem $2 $1 >> $LTPROOT/output/ext4_online_defrag_result.txt >> 2>&1 >> >> my_e4defrag $1 $2 >> $LTPROOT/output/ext4_online_defrag_result.txt >> if [ $? -ne 0 ]; then >> @@ -152,18 +157,21 @@ ext4_test_online_defrag() >> return 1 >> fi >> >> - e2fsck -p $EXT4_DEV >> + e2fsck -p $EXT4_DEV >> \ >> + $LTPROOT/output/ext4_online_defrag_result.txt 2>&1 >> if [ $? -ne 0 ]; then >> tst_resm TFAIL "fsck returned failure" >> return 1 >> fi >> >> - tst_resm TPASS "ext4 online defrag test pass(defrag type: $1, Aging: >> $2, block size: $3)" >> + tst_resm TPASS "ext4 online defrag test pass" >> } >> >> # main >> ext4_setup >> >> +rm -f $LTPROOT/output/ext4_online_defrag_result.txt >> + >> DEFRAG=( $FILE $DIR $FILESYSTEM ) >> AGING=( $EMPTY $SMALL $LARGE ) >> BLOCK_SIZE=( 1024 4096 ) >> diff --git >> a/testcases/kernel/fs/ext4-new-features/ext4-persist-prealloc/ext4_persist_prealloc_test.sh >> b/testcases/kernel/fs/ext4-new-features/ext4-persist-prealloc/ext4_persist_prealloc_test.sh >> index 0d293e8..e895d25 100755 >> --- >> a/testcases/kernel/fs/ext4-new-features/ext4-persist-prealloc/ext4_persist_prealloc_test.sh >> +++ >> b/testcases/kernel/fs/ext4-new-features/ext4-persist-prealloc/ext4_persist_prealloc_test.sh >> @@ -43,7 +43,7 @@ export TDIRECTORY=$PWD/mnt_point/ >> # $1: 1024 or 4096 >> ext4_test_persist_prealloc() >> { >> - mkfs.ext4 -I 256 -b $1 $EXT4_DEV > /dev/null >> + mkfs.ext4 -I 256 -b $1 $EXT4_DEV &> /dev/null >> if [ $? -ne 0 ]; then >> tst_resm TFAIL "failed to create ext4 filesystem" >> return 1 >> @@ -81,7 +81,7 @@ ext4_test_persist_prealloc() >> return 1 >> fi >> >> - e2fsck -p $EXT4_DEV >> + e2fsck -p $EXT4_DEV &> /dev/null >> if [ $? -ne 0 ]; then >> tst_resm TFAIL "fsck returned failure" >> return 1 >> diff --git >> a/testcases/kernel/fs/ext4-new-features/ext4-subdir-limit/ext4_subdir_limit_test.sh >> b/testcases/kernel/fs/ext4-new-features/ext4-subdir-limit/ext4_subdir_limit_test.sh >> index 42c4336..5631fe5 100755 >> --- >> a/testcases/kernel/fs/ext4-new-features/ext4-subdir-limit/ext4_subdir_limit_test.sh >> +++ >> b/testcases/kernel/fs/ext4-new-features/ext4-subdir-limit/ext4_subdir_limit_test.sh >> @@ -28,7 +28,7 @@ cd $LTPROOT/testcases/bin >> . ./ext4_funcs.sh >> >> export TCID="ext4-subdir-limit" >> -export TST_TOTAL=12 >> +export TST_TOTAL=10 >> export TST_COUNT=1 >> >> # $1: the test config >> @@ -59,20 +59,20 @@ ext4_run_case() >> dir_name_len="long name" >> fi >> >> - tst_resm TINFO "Num of dirs to create: $1, Dir name len: >> $dir_name_len \ >> - Parent dir: $3, Block size: $4" >> + tst_resm TINFO "Num of dirs to create: $1, Dir name len: >> $dir_name_len, " \ >> + "Parent dir: $3, Block size: $4" >> >> # only mkfs if block size has been changed, >> # or previous case failed >> if [ $prev_result -ne $PASS -o $4 -ne $prev_block_size ]; then >> - mkfs.ext4 -b $4 -I 256 $EXT4_DEV > /dev/null >> + mkfs.ext4 -b $4 -I 256 $EXT4_DEV &> /dev/null >> if [ $? -ne 0 ]; then >> tst_resm TFAIL "failed to create ext4 filesystem" >> return 1 >> fi >> prev_block_size=$4 >> >> - tune2fs -E test_fs -O extents $EXT4_DEV >> + tune2fs -O extents $EXT4_DEV &> /dev/null >> fi >> >> prev_result=$FAIL >> @@ -120,14 +120,14 @@ ext4_run_case() >> fi >> >> # run fsck to make sure the filesystem has no errors >> - e2fsck -p $EXT4_DEV >> + e2fsck -p $EXT4_DEV &> /dev/null >> if [ $? -ne 0 ]; then >> tst_resm TFAIL "fsck: the filesystem has errors" >> return 1 >> fi >> >> # check dir_nlink is set >> - dumpe2fs $EXT4_DEV | grep '^Filesystem features' | grep -q dir_nlink >> + dumpe2fs $EXT4_DEV 2> /dev/null | grep '^Filesystem features' | grep >> -q dir_nlink >> if [ $? -ne 0 ]; then >> tst_resm TFAIL "feature dir_nlink is not set" >> return 1 >> @@ -152,6 +152,9 @@ for ((i = 0; i < 3; i++)) >> { >> for ((k = 0; k < 2; k++)) >> { >> + if [ $i -eq $LONG_DIR -a $k -eq 1024 ]; then >> + continue >> + fi >> ext4_run_case 65537 ${DIR_LEN[$k]} ${PARENT_DIR[$j]} \ >> ${BLOCK_SIZE[$i]} >> if [ $? -ne 0 ]; then >> diff --git >> a/testcases/kernel/fs/ext4-new-features/ext4-uninit-groups/ext4_uninit_groups_test.sh >> b/testcases/kernel/fs/ext4-new-features/ext4-uninit-groups/ext4_uninit_groups_test.sh >> index 27cbb5f..b479c8f 100755 >> --- >> a/testcases/kernel/fs/ext4-new-features/ext4-uninit-groups/ext4_uninit_groups_test.sh >> +++ >> b/testcases/kernel/fs/ext4-new-features/ext4-uninit-groups/ext4_uninit_groups_test.sh >> @@ -40,8 +40,8 @@ LARGE=3 >> # filesystem free size in bytes: blocks_size * free_blocks >> filesystem_free_size() >> { >> - bsize=`dumpe2fs -h $EXT4_DEV | grep 'Block size' | awk '{ print $2 >> }'` >> - blocks=`dumpe2fs -h $EXT4_DEV | grep 'Free blocks'| awk '{ print $2 >> }'` >> + bsize=`dumpe2fs -h $EXT4_DEV 2> /dev/null | grep 'Block size' | awk >> '{ print $2 }'` >> + blocks=`dumpe2fs -h $EXT4_DEV 2> /dev/null | grep 'Free blocks'| awk >> '{ print $2 }'` >> >> echo $bsize * $blocks >> } >> @@ -61,9 +61,9 @@ age_filesystem() >> } >> elif [ $1 -eq $LARGE ]; then >> rm -rf mnt_point/* >> - bsize=`dumpe2fs -h $EXT4_DEV | grep 'Block size'` >> + bsize=`dumpe2fs -h $EXT4_DEV 2> /dev/null | grep 'Block size'` >> bsize=`echo $bsize | awk '{ print $3 }'` >> - bcount=`dumpe2fs -h $EXT4_DEV | grep 'Free blocks'` >> + bcount=`dumpe2fs -h $EXT4_DEV 2> /dev/null | grep 'Free blocks'` >> bcount=`echo $bcount | awk '{ print $3 }'` >> dd if=/dev/zero of=mnt_point/tmp_dir bs=$bsize count=$bcount >> else >> @@ -80,7 +80,9 @@ age_filesystem() >> # $4: age filesystem: $EMPTY, $SMALL, $LARGE >> ext4_test_uninit_groups() >> { >> - mkfs.ext4 -I 256 -m 0 $EXT4_DEV > /dev/null >> + echo "Test $TST_COUNT" >> >> $LTPROOT/output/ext4_uninit_groups_result.txt >> + >> + mkfs.ext4 -I 256 -m 0 $EXT4_DEV &> /dev/null >> if [ $? -ne 0 ]; then >> tst_resm TFAIL "failed to create ext4 filesystem" >> return 1 >> @@ -92,10 +94,10 @@ ext4_test_uninit_groups() >> flag=$3 >> fi >> >> - tune2fs -E test_fs -O extents,uninit_groups,$flag $EXT4_DEV >> + tune2fs -O extents,uninit_groups,$flag $EXT4_DEV &> /dev/null >> >> # Must run fsck after setting uninit_groups >> - fsck -p $EXT4_DEV > /dev/null >> + fsck -p $EXT4_DEV &> /dev/null >> >> mount -t ext4 -o $1,$2 $EXT4_DEV mnt_point >> if [ $? -ne 0 ]; then >> @@ -103,7 +105,7 @@ ext4_test_uninit_groups() >> return 1 >> fi >> >> - age_filesystem $4 >> + age_filesystem $4 >> $LTPROOT/output/ext4_uninit_groups_result.txt >> 2>&1 >> if [ $? -ne 0 ]; then >> tst_resm TFAIL "age filesystem failed" >> umount mnt_point >> @@ -116,7 +118,7 @@ ext4_test_uninit_groups() >> return 1 >> fi >> >> - fsck -p $EXT4_DEV >> + fsck -p $EXT4_DEV &> /dev/null >> if [ $? -ne 0 ]; then >> tst_resm TFAIL "fsck returned failure" >> return 1 >> @@ -135,6 +137,8 @@ AGING=( $EMPTY $SMALL $LARGE ) >> >> RET=0 >> >> +rm -f $LTPROOT/output/ext4_uninit_groups_result.txt >> + >> for ((i = 0; i < 2; i++)) >> { >> for ((j = 0; j < 2; j++)) > > > INFO: creating /opt/ltp/results directory > If some fields are empty or look unusual you may have an old version. > Compare to the current minimal requirements in Documentation/Changes. > > Fedora release 12 (Constantine) > Fedora release 12 (Constantine) > Fedora release 12 (Constantine) > Linux miao 2.6.32-rc8 #1 SMP Thu Nov 26 12:10:41 CST 2009 x86_64 x86_64 > x86_64 GNU/Linux > > Gnu C gcc (GCC) 4.4.2 20091027 (Red Hat 4.4.2-7) > Gnu make 3.81 > util-linux ng 2.16) > mount ng 2.16 (with libblkid and selinux support) > modutils 3.9 > e2fsprogs 1.41.9 > PPP 2.4.4 > Linux C Library > libc.2.11 > Dynamic linker (ldd) 2.11 > Procps 3.2.8 > Net-tools 1.60 > iproute2 iproute2-ss090324 > Kbd 1.15 > Sh-utils 7.6 > Modules Loaded fuse sunrpc ip6t_REJECT nf_conntrack_ipv6 > ip6table_filter ip6_tables ipv6 cpufreq_ondemand acpi_cpufreq freq_table > dm_multipath uinput snd_hda_codec_realtek snd_hda_intel snd_hda_codec > snd_hwdep sky2 snd_seq snd_seq_device snd_pcm snd_timer i2c_i801 iTCO_wdt > iTCO_vendor_support snd ppdev parport_pc parport pcspkr soundcore > snd_page_alloc ata_generic pata_acpi i915 drm_kms_helper drm i2c_algo_bit > i2c_core video output > > free reports: > total used free shared buffers cached > Mem: 2048800 924576 1124224 0 61216 364884 > -/+ buffers/cache: 498476 1550324 > Swap: 0 0 0 > > /proc/cpuinfo > processor : 0 > vendor_id : GenuineIntel > cpu family : 6 > model : 23 > model name : Intel(R) Core(TM)2 Duo CPU E7300 @ 2.66GHz > stepping : 6 > cpu MHz : 1603.000 > cache size : 3072 KB > physical id : 0 > siblings : 2 > core id : 0 > cpu cores : 2 > apicid : 0 > initial apicid : 0 > fpu : yes > fpu_exception : yes > cpuid level : 10 > wp : yes > flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca > cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx lm > constant_tsc arch_perfmon pebs bts rep_good aperfmperf pni dtes64 monitor > ds_cpl est tm2 ssse3 cx16 xtpr pdcm sse4_1 lahf_lm > bogomips : 5320.39 > clflush size : 64 > cache_alignment : 64 > address sizes : 36 bits physical, 48 bits virtual > power management: > > processor : 1 > vendor_id : GenuineIntel > cpu family : 6 > model : 23 > model name : Intel(R) Core(TM)2 Duo CPU E7300 @ 2.66GHz > stepping : 6 > cpu MHz : 1603.000 > cache size : 3072 KB > physical id : 0 > siblings : 2 > core id : 1 > cpu cores : 2 > apicid : 1 > initial apicid : 1 > fpu : yes > fpu_exception : yes > cpuid level : 10 > wp : yes > flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca > cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx lm > constant_tsc arch_perfmon pebs bts rep_good aperfmperf pni dtes64 monitor > ds_cpl est tm2 ssse3 cx16 xtpr pdcm sse4_1 lahf_lm > bogomips : 5319.71 > clflush size : 64 > cache_alignment : 64 > address sizes : 36 bits physical, 48 bits virtual > power management: > > remove test cases which require the block device. > You can specify it with option -b > COMMAND: /opt/ltp/bin/ltp-pan -e -S -a 10841 -n 10841 -p -f > /tmp/ltp-7a0EmLzrtP/alltests -l > /opt/ltp/results/LTP_RUN_ON-2009_11月_28-09h_35m_47s.log -C > /opt/ltp/output/LTP_RUN_ON-2009_11月_28-09h_35m_47s.failed > LOG File: /opt/ltp/results/LTP_RUN_ON-2009_11月_28-09h_35m_47s.log > FAILED COMMAND File: > /opt/ltp/output/LTP_RUN_ON-2009_11月_28-09h_35m_47s.failed > Running tests....... > <<<test_start>>> > tag=ext4_new_feature_test stime=1259372147 > cmdline="run_ext4_test.sh" > contacts="" > analysis=exit > <<<test_output>>> > EXT4 NEW FEATURE TESTING > TEST STARTED: Please avoid using system while this test executes > > Ext4 block allocation test > ext4-delalloc-mballoc 0 TINFO : isDelalloc: delalloc, isDirectIO: 0, > Blocksize: 1024, isAuto_da_alloc: auto_da_alloc=1 > ext4-delalloc-mballoc 1 TPASS : delalloc/mballoc test pass > ext4-delalloc-mballoc 0 TINFO : isDelalloc: delalloc, isDirectIO: 0, > Blocksize: 1024, isAuto_da_alloc: noauto_da_alloc > ext4-delalloc-mballoc 2 TPASS : delalloc/mballoc test pass > ext4-delalloc-mballoc 0 TINFO : isDelalloc: nodelalloc, isDirectIO: 0, > Blocksize: 1024, isAuto_da_alloc: auto_da_alloc=1 > ext4-delalloc-mballoc 3 TPASS : delalloc/mballoc test pass > ext4-delalloc-mballoc 0 TINFO : isDelalloc: nodelalloc, isDirectIO: 0, > Blocksize: 1024, isAuto_da_alloc: noauto_da_alloc > ext4-delalloc-mballoc 4 TPASS : delalloc/mballoc test pass > ext4-delalloc-mballoc 0 TINFO : isDelalloc: delalloc, isDirectIO: 1, > Blocksize: 1024, isAuto_da_alloc: auto_da_alloc=1 > ext4-delalloc-mballoc 5 TPASS : delalloc/mballoc test pass > ext4-delalloc-mballoc 0 TINFO : isDelalloc: delalloc, isDirectIO: 1, > Blocksize: 1024, isAuto_da_alloc: noauto_da_alloc > ext4-delalloc-mballoc 6 TPASS : delalloc/mballoc test pass > ext4-delalloc-mballoc 0 TINFO : isDelalloc: nodelalloc, isDirectIO: 1, > Blocksize: 1024, isAuto_da_alloc: auto_da_alloc=1 > ext4-delalloc-mballoc 7 TPASS : delalloc/mballoc test pass > ext4-delalloc-mballoc 0 TINFO : isDelalloc: nodelalloc, isDirectIO: 1, > Blocksize: 1024, isAuto_da_alloc: noauto_da_alloc > ext4-delalloc-mballoc 8 TPASS : delalloc/mballoc test pass > ext4-delalloc-mballoc 0 TINFO : isDelalloc: delalloc, isDirectIO: 0, > Blocksize: 4096, isAuto_da_alloc: auto_da_alloc=1 > ext4-delalloc-mballoc 9 TPASS : delalloc/mballoc test pass > ext4-delalloc-mballoc 0 TINFO : isDelalloc: delalloc, isDirectIO: 0, > Blocksize: 4096, isAuto_da_alloc: noauto_da_alloc > ext4-delalloc-mballoc 10 TPASS : delalloc/mballoc test pass > ext4-delalloc-mballoc 0 TINFO : isDelalloc: nodelalloc, isDirectIO: 0, > Blocksize: 4096, isAuto_da_alloc: auto_da_alloc=1 > ext4-delalloc-mballoc 11 TPASS : delalloc/mballoc test pass > ext4-delalloc-mballoc 0 TINFO : isDelalloc: nodelalloc, isDirectIO: 0, > Blocksize: 4096, isAuto_da_alloc: noauto_da_alloc > ext4-delalloc-mballoc 12 TPASS : delalloc/mballoc test pass > ext4-delalloc-mballoc 0 TINFO : isDelalloc: delalloc, isDirectIO: 1, > Blocksize: 4096, isAuto_da_alloc: auto_da_alloc=1 > ext4-delalloc-mballoc 13 TPASS : delalloc/mballoc test pass > ext4-delalloc-mballoc 0 TINFO : isDelalloc: delalloc, isDirectIO: 1, > Blocksize: 4096, isAuto_da_alloc: noauto_da_alloc > ext4-delalloc-mballoc 14 TPASS : delalloc/mballoc test pass > ext4-delalloc-mballoc 0 TINFO : isDelalloc: nodelalloc, isDirectIO: 1, > Blocksize: 4096, isAuto_da_alloc: auto_da_alloc=1 > ext4-delalloc-mballoc 15 TPASS : delalloc/mballoc test pass > ext4-delalloc-mballoc 0 TINFO : isDelalloc: nodelalloc, isDirectIO: 1, > Blocksize: 4096, isAuto_da_alloc: noauto_da_alloc > ext4-delalloc-mballoc 16 TPASS : delalloc/mballoc test pass > ext4-delalloc-mballoc 17 TPASS : remount test pass > > Ext4 journal checksum test > ext4-journal-checksum 0 TINFO : journal mode: writeback, commit > interval: 1, > ext4-journal-checksum 1 TPASS : ext4 journal checksum test pass > ext4-journal-checksum 0 TINFO : journal mode: ordered, commit > interval: 1, > ext4-journal-checksum 2 TPASS : ext4 journal checksum test pass > ext4-journal-checksum 0 TINFO : journal mode: journal, commit > interval: 1, > ext4-journal-checksum 3 TPASS : ext4 journal checksum test pass > ext4-journal-checksum 0 TINFO : journal mode: writeback, commit > interval: 100, > ext4-journal-checksum 4 TPASS : ext4 journal checksum test pass > ext4-journal-checksum 0 TINFO : journal mode: ordered, commit > interval: 100, > ext4-journal-checksum 5 TPASS : ext4 journal checksum test pass > ext4-journal-checksum 0 TINFO : journal mode: journal, commit > interval: 100, > ext4-journal-checksum 6 TPASS : ext4 journal checksum test pass > ext4-journal-checksum 0 TINFO : journal mode: writeback, commit > interval: 1, > ext4-journal-checksum 7 TPASS : ext4 journal checksum test pass > ext4-journal-checksum 0 TINFO : journal mode: ordered, commit > interval: 1, > ext4-journal-checksum 8 TPASS : ext4 journal checksum test pass > ext4-journal-checksum 0 TINFO : journal mode: journal, commit > interval: 1, > ext4-journal-checksum 9 TPASS : ext4 journal checksum test pass > ext4-journal-checksum 0 TINFO : journal mode: writeback, commit > interval: 100, > ext4-journal-checksum 10 TPASS : ext4 journal checksum test pass > ext4-journal-checksum 0 TINFO : journal mode: ordered, commit > interval: 100, > ext4-journal-checksum 11 TPASS : ext4 journal checksum test pass > ext4-journal-checksum 0 TINFO : journal mode: journal, commit > interval: 100, > ext4-journal-checksum 12 TPASS : ext4 journal checksum test pass > ext4-journal-checksum 0 TINFO : journal mode: writeback, commit > interval: 1, > ext4-journal-checksum 13 TPASS : ext4 journal checksum test pass > ext4-journal-checksum 0 TINFO : journal mode: ordered, commit > interval: 1, > ext4-journal-checksum 14 TPASS : ext4 journal checksum test pass > ext4-journal-checksum 0 TINFO : journal mode: journal, commit > interval: 1, > ext4-journal-checksum 15 TPASS : ext4 journal checksum test pass > ext4-journal-checksum 0 TINFO : journal mode: writeback, commit > interval: 100, > ext4-journal-checksum 16 TPASS : ext4 journal checksum test pass > ext4-journal-checksum 0 TINFO : journal mode: ordered, commit > interval: 100, > ext4-journal-checksum 17 TPASS : ext4 journal checksum test pass > ext4-journal-checksum 0 TINFO : journal mode: journal, commit > interval: 100, > ext4-journal-checksum 18 TPASS : ext4 journal checksum test pass > ext4-journal-checksum 0 TINFO : journal mode: writeback, commit > interval: 1, > ext4-journal-checksum 19 TPASS : ext4 journal checksum test pass > ext4-journal-checksum 0 TINFO : journal mode: ordered, commit > interval: 1, > ext4-journal-checksum 20 TPASS : ext4 journal checksum test pass > ext4-journal-checksum 0 TINFO : journal mode: journal, commit > interval: 1, > ext4-journal-checksum 21 TPASS : ext4 journal checksum test pass > ext4-journal-checksum 0 TINFO : journal mode: writeback, commit > interval: 100, > ext4-journal-checksum 22 TPASS : ext4 journal checksum test pass > ext4-journal-checksum 0 TINFO : journal mode: ordered, commit > interval: 100, > ext4-journal-checksum 23 TPASS : ext4 journal checksum test pass > ext4-journal-checksum 0 TINFO : journal mode: journal, commit > interval: 100, > ext4-journal-checksum 24 TPASS : ext4 journal checksum test pass > ext4-journal-checksum 0 TINFO : journal mode: writeback, commit > interval: 1, > ext4-journal-checksum 25 TPASS : ext4 journal checksum test pass > ext4-journal-checksum 0 TINFO : journal mode: ordered, commit > interval: 1, > ext4-journal-checksum 26 TPASS : ext4 journal checksum test pass > ext4-journal-checksum 0 TINFO : journal mode: journal, commit > interval: 1, > ext4-journal-checksum 27 TPASS : ext4 journal checksum test pass > ext4-journal-checksum 0 TINFO : journal mode: writeback, commit > interval: 100, > ext4-journal-checksum 28 TPASS : ext4 journal checksum test pass > ext4-journal-checksum 0 TINFO : journal mode: ordered, commit > interval: 100, > ext4-journal-checksum 29 TPASS : ext4 journal checksum test pass > ext4-journal-checksum 0 TINFO : journal mode: journal, commit > interval: 100, > ext4-journal-checksum 30 TPASS : ext4 journal checksum test pass > ext4-journal-checksum 0 TINFO : journal mode: writeback, commit > interval: 1, > ext4-journal-checksum 31 TPASS : ext4 journal checksum test pass > ext4-journal-checksum 0 TINFO : journal mode: ordered, commit > interval: 1, > ext4-journal-checksum 32 TPASS : ext4 journal checksum test pass > ext4-journal-checksum 0 TINFO : journal mode: journal, commit > interval: 1, > ext4-journal-checksum 33 TPASS : ext4 journal checksum test pass > ext4-journal-checksum 0 TINFO : journal mode: writeback, commit > interval: 100, > ext4-journal-checksum 34 TPASS : ext4 journal checksum test pass > ext4-journal-checksum 0 TINFO : journal mode: ordered, commit > interval: 100, > ext4-journal-checksum 35 TPASS : ext4 journal checksum test pass > ext4-journal-checksum 0 TINFO : journal mode: journal, commit > interval: 100, > ext4-journal-checksum 36 TPASS : ext4 journal checksum test pass > > Ext4 subdir limit test > ext4-subdir-limit 0 TINFO : Num of dirs to create: 65537, Dir name > len: short name, > ext4-subdir-limit 1 TPASS : ext4 subdir limit test pass > ext4-subdir-limit 0 TINFO : Num of dirs to create: 65537, Dir name > len: short name, > ext4-subdir-limit 2 TPASS : ext4 subdir limit test pass > ext4-subdir-limit 0 TINFO : Num of dirs to create: 65537, Dir name > len: short name, > ext4-subdir-limit 3 TPASS : ext4 subdir limit test pass > ext4-subdir-limit 0 TINFO : Num of dirs to create: 65537, Dir name > len: long name, > ext4-subdir-limit 4 TPASS : ext4 subdir limit test pass > ext4-subdir-limit 0 TINFO : Num of dirs to create: 65537, Dir name > len: short name, > ext4-subdir-limit 5 TPASS : ext4 subdir limit test pass > ext4-subdir-limit 0 TINFO : Num of dirs to create: 65537, Dir name > len: long name, > ext4-subdir-limit 6 TPASS : ext4 subdir limit test pass > ext4-subdir-limit 0 TINFO : Num of dirs to create: 65537, Dir name > len: short name, > ext4-subdir-limit 7 TPASS : ext4 subdir limit test pass > ext4-subdir-limit 0 TINFO : Num of dirs to create: 65537, Dir name > len: long name, > ext4-subdir-limit 8 TPASS : ext4 subdir limit test pass > ext4-subdir-limit 0 TINFO : Num of dirs to create: 65537, Dir name > len: short name, > ext4-subdir-limit 9 TPASS : ext4 subdir limit test pass > ext4-subdir-limit 0 TINFO : Num of dirs to create: 65537, Dir name > len: long name, > ext4-subdir-limit 10 TPASS : ext4 subdir limit test pass > > Ext4 nanosecond timestamp test > ext4-nsec-timestamps 0 TINFO : Test timestamps with 128 inode size > ext4-nsec-timestamps 1 TPASS : Ext4 nanosecond timestamps test with > 128 inode size pass > ext4-nsec-timestamps 0 TINFO : Test timestamps with 256 inode size > ext4-nsec-timestamps 2 TPASS : Ext4 nanosecond timestamps test with > 256 inode size pass > > Ext4 persist prealloc test > ext4-persistent-preallocation 1 TPASS : ext4 persistent preallocation > test pass > ext4-persistent-preallocation 2 TPASS : ext4 persistent preallocation > test pass > > Ext4 inode version test > ext4-inode-version 0 TINFO : Test inode version is 32 bits with 128 > inode size > ext4-inode-version 1 TPASS : 32 bits inode version with 128 inode size > test pass > ext4-inode-version 2 TPASS : inode version with 256 inode size test > pass > ext4-inode-version 3 TPASS : inode version with 256 inode size test > pass > ext4-inode-version 4 TPASS : inode version with 256 inode size test > pass > ext4-inode-version 5 TPASS : inode version with 256 inode size test > pass > ext4-inode-version 6 TPASS : inode version with 256 inode size test > pass > ext4-inode-version 7 TPASS : inode version with 256 inode size test > pass > ext4-inode-version 8 TPASS : inode version with 256 inode size test > pass > > Ext4 uninit groups test > ext4-uninit-groups 1 TPASS : ext4 uninit groups test pass > ext4-uninit-groups 2 TPASS : ext4 uninit groups test pass > ext4-uninit-groups 3 TPASS : ext4 uninit groups test pass > ext4-uninit-groups 4 TPASS : ext4 uninit groups test pass > ext4-uninit-groups 5 TPASS : ext4 uninit groups test pass > ext4-uninit-groups 6 TPASS : ext4 uninit groups test pass > ext4-uninit-groups 7 TPASS : ext4 uninit groups test pass > ext4-uninit-groups 8 TPASS : ext4 uninit groups test pass > ext4-uninit-groups 9 TPASS : ext4 uninit groups test pass > ext4-uninit-groups 10 TPASS : ext4 uninit groups test pass > ext4-uninit-groups 11 TPASS : ext4 uninit groups test pass > ext4-uninit-groups 12 TPASS : ext4 uninit groups test pass > ext4-uninit-groups 13 TPASS : ext4 uninit groups test pass > ext4-uninit-groups 14 TPASS : ext4 uninit groups test pass > ext4-uninit-groups 15 TPASS : ext4 uninit groups test pass > ext4-uninit-groups 16 TPASS : ext4 uninit groups test pass > ext4-uninit-groups 17 TPASS : ext4 uninit groups test pass > ext4-uninit-groups 18 TPASS : ext4 uninit groups test pass > ext4-uninit-groups 19 TPASS : ext4 uninit groups test pass > ext4-uninit-groups 20 TPASS : ext4 uninit groups test pass > ext4-uninit-groups 21 TPASS : ext4 uninit groups test pass > ext4-uninit-groups 22 TPASS : ext4 uninit groups test pass > ext4-uninit-groups 23 TPASS : ext4 uninit groups test pass > ext4-uninit-groups 24 TPASS : ext4 uninit groups test pass > > Ext4 online defrag test > The output of defrag program is in the file > LTPROOT/output/ext4_online_defrag.txt > ext4-online-defrag 0 TINFO : defrag type: 1, defrag obj: 1, block > size: 1024 > ext4-online-defrag 1 TPASS : ext4 online defrag test pass > ext4-online-defrag 0 TINFO : defrag type: 1, defrag obj: 2, block > size: 1024 > "/opt/ltp/testcases/bin/mnt_point/data0" > File is not regular file > "/opt/ltp/testcases/bin/mnt_point/data0/datadir0" > File is not regular file Please cleanup issue here. > ext4-online-defrag 2 TPASS : ext4 online defrag test pass > ext4-online-defrag 0 TINFO : defrag type: 1, defrag obj: 3, block > size: 1024 > ext4-online-defrag 3 TPASS : ext4 online defrag test pass > ext4-online-defrag 0 TINFO : defrag type: 2, defrag obj: 1, block > size: 1024 > "/opt/ltp/testcases/bin/mnt_point/tmp_dir" > File is not regular file Same. > ext4-online-defrag 4 TPASS : ext4 online defrag test pass > ext4-online-defrag 0 TINFO : defrag type: 2, defrag obj: 2, block > size: 1024 > "/opt/ltp/testcases/bin/mnt_point/data0" > File is not regular file > "/opt/ltp/testcases/bin/mnt_point/data0/datadir0" > File is not regular file Same. > ext4-online-defrag 5 TPASS : ext4 online defrag test pass > ext4-online-defrag 0 TINFO : defrag type: 2, defrag obj: 3, block > size: 1024 > "/opt/ltp/testcases/bin/mnt_point/tmp_dir" > File is not regular file Same. > ext4-online-defrag 6 TPASS : ext4 online defrag test pass > ext4-online-defrag 0 TINFO : defrag type: 3, defrag obj: 1, block > size: 1024 > "/opt/ltp/testcases/bin/mnt_point" > File is not regular file Same. > ext4-online-defrag 7 TPASS : ext4 online defrag test pass > ext4-online-defrag 0 TINFO : defrag type: 3, defrag obj: 2, block > size: 1024 > "/opt/ltp/testcases/bin/mnt_point" > File is not regular file > "/opt/ltp/testcases/bin/mnt_point/data2" > File is not regular file > "/opt/ltp/testcases/bin/mnt_point/data2/datadir0" > File is not regular file > "/opt/ltp/testcases/bin/mnt_point/data0" > File is not regular file > "/opt/ltp/testcases/bin/mnt_point/data0/datadir0" > File is not regular file > "/opt/ltp/testcases/bin/mnt_point/meta" > File is not regular file > "/opt/ltp/testcases/bin/mnt_point/data3" > File is not regular file > "/opt/ltp/testcases/bin/mnt_point/data3/datadir0" > File is not regular file > "/opt/ltp/testcases/bin/mnt_point/data4" > File is not regular file > "/opt/ltp/testcases/bin/mnt_point/data4/fillfile1699" > File size is 0 > "/opt/ltp/testcases/bin/mnt_point/data4/datadir0" > File is not regular file > "/opt/ltp/testcases/bin/mnt_point/data1" > File is not regular file > "/opt/ltp/testcases/bin/mnt_point/data1/datadir0" > File is not regular file Same. > ext4-online-defrag 8 TPASS : ext4 online defrag test pass > ext4-online-defrag 0 TINFO : defrag type: 3, defrag obj: 3, block > size: 1024 > "/opt/ltp/testcases/bin/mnt_point" > File is not regular file Same. > ext4-online-defrag 9 TPASS : ext4 online defrag test pass > ext4-online-defrag 0 TINFO : defrag type: 1, defrag obj: 1, block > size: 4096 > ext4-online-defrag 10 TPASS : ext4 online defrag test pass > ext4-online-defrag 0 TINFO : defrag type: 1, defrag obj: 2, block > size: 4096 > "/opt/ltp/testcases/bin/mnt_point/data0" > File is not regular file > "/opt/ltp/testcases/bin/mnt_point/data0/datadir0" > File is not regular file Same. > ext4-online-defrag 11 TPASS : ext4 online defrag test pass > ext4-online-defrag 0 TINFO : defrag type: 1, defrag obj: 3, block > size: 4096 > ext4-online-defrag 12 TPASS : ext4 online defrag test pass > ext4-online-defrag 0 TINFO : defrag type: 2, defrag obj: 1, block > size: 4096 > "/opt/ltp/testcases/bin/mnt_point/tmp_dir" > File is not regular file Same. > ext4-online-defrag 13 TPASS : ext4 online defrag test pass > ext4-online-defrag 0 TINFO : defrag type: 2, defrag obj: 2, block > size: 4096 > "/opt/ltp/testcases/bin/mnt_point/data0" > File is not regular file > "/opt/ltp/testcases/bin/mnt_point/data0/datadir0" > File is not regular file Same. > ext4-online-defrag 14 TPASS : ext4 online defrag test pass > ext4-online-defrag 0 TINFO : defrag type: 2, defrag obj: 3, block > size: 4096 > "/opt/ltp/testcases/bin/mnt_point/tmp_dir" > File is not regular file > ext4-online-defrag 15 TPASS : ext4 online defrag test pass > ext4-online-defrag 0 TINFO : defrag type: 3, defrag obj: 1, block > size: 4096 > "/opt/ltp/testcases/bin/mnt_point" > File is not regular file > ext4-online-defrag 16 TPASS : ext4 online defrag test pass > ext4-online-defrag 0 TINFO : defrag type: 3, defrag obj: 2, block > size: 4096 > "/opt/ltp/testcases/bin/mnt_point" > File is not regular file > "/opt/ltp/testcases/bin/mnt_point/data1" > File is not regular file > "/opt/ltp/testcases/bin/mnt_point/data1/datadir0" > File is not regular file > "/opt/ltp/testcases/bin/mnt_point/data0" > File is not regular file > "/opt/ltp/testcases/bin/mnt_point/data0/datadir0" > File is not regular file > "/opt/ltp/testcases/bin/mnt_point/data2" > File is not regular file > "/opt/ltp/testcases/bin/mnt_point/data2/datadir0" > File is not regular file > "/opt/ltp/testcases/bin/mnt_point/data3" > File is not regular file > "/opt/ltp/testcases/bin/mnt_point/data3/datadir0" > File is not regular file > "/opt/ltp/testcases/bin/mnt_point/meta" > File is not regular file > "/opt/ltp/testcases/bin/mnt_point/data4" > File is not regular file > "/opt/ltp/testcases/bin/mnt_point/data4/datadir0" > File is not regular file > ext4-online-defrag 17 TPASS : ext4 online defrag test pass > ext4-online-defrag 0 TINFO : defrag type: 3, defrag obj: 3, block > size: 4096 > "/opt/ltp/testcases/bin/mnt_point" > File is not regular file > ext4-online-defrag 18 TPASS : ext4 online defrag test pass > incrementing stop > <<<execution_status>>> > initiation_status="ok" > duration=39617 termination_type=exited termination_id=0 corefile=no > cutime=12671 cstime=199642 > <<<test_end>>> > INFO: ltp-pan reported all tests PASS > LTP Version: LTP-20091031 You should be using $TMPDIR in all of these tests, not $LTPROOT/testcases/bin/<blah>. Thanks, -Garrett |
From: Subrata M. <su...@li...> - 2009-12-03 15:11:57
|
Hi Miao, On Thu, 2009-11-26 at 20:02 +0800, Miao Xie wrote: > Hi, Subrata > > on 2009-11-2 21:59, Subrata Modak wrote: > >>>>> /dev/VG1_EXT4/LV1_EXT4: The test_fs flag is set (and ext4 is > >>>>> available). > >>>>> CLEARED. > >>>> You don't need to set the test_fs flag for modern ext4. > >>> Can we change this ? > > The attached patch can fix this problem. I had already checked in your earlier patch long back. So, you would please need to resend over the latest code. Regards-- Subrata > > >>> However, it is also accompanied by the following failures in the online-defrag part: > >>> ======================================================================================== > >>> ext4-online-defrag 0 TINFO : defrag type: 1, defrag obj: 3, block size: 1024 > [snip] > >>> ext4-online-defrag 3 TFAIL : e4defrag returned failure > [snip] > >>> ext4-online-defrag 0 TINFO : defrag type: 2, defrag obj: 3, block size: 1024 > [snip] > >>> ext4-online-defrag 6 TFAIL : e4defrag returned failure > >>> ext4-online-defrag 0 TINFO : defrag type: 3, defrag obj: 1, block size: 1024 > [snip] > >>> ext4-online-defrag 7 TFAIL : e4defrag returned failure > >>> ext4-online-defrag 0 TINFO : defrag type: 3, defrag obj: 2, block size: 1024 > [snip] > >>> File is not regular file > >>> "/dev/VG1_EXT4/LV1_EXT4" > >>> ext4-online-defrag 8 TFAIL : e4defrag returned failure > >>> ext4-online-defrag 0 TINFO : defrag type: 3, defrag obj: 3, block size: 1024 > [snip] > >>> ext4-online-defrag 9 TFAIL : e4defrag returned failure > >>> ... > >>> ext4-online-defrag 0 TINFO : defrag type: 3, defrag obj: 2, block size: 4096 > [snip] > >>> File is not regular file > >>> "/dev/VG1_EXT4/LV1_EXT4" > >>> ext4-online-defrag 17 TFAIL : e4defrag returned failure > >>> ext4-online-defrag 0 TINFO : defrag type: 3, defrag obj: 3, block size: 4096 > [snip] > >>> File is not regular file > >>> "/dev/VG1_EXT4/LV1_EXT4" > >>> ext4-online-defrag 18 TFAIL : e4defrag returned failure > >>> incrementing stop > >>> ======================================================================================== > >>> Did you see these failure on your machine ? > >> Your take on this ? > > I didn't find these failure on my box. > The attached patch opens the verbose mode of e4defrag to get more information later, it is > useful to find the problem of online defrag. > So, Could you test it again and send the output info to me? > > >> > >>> Some more points are: > >>> > >>> 1. Can you please run these tests against the backdrop of the > >>> Makefile changes in LTP to see all the build/install/run are > >>> executing fine, > >> Could you please verify this before this release. Let me know a patch if > >> you find any discrepancy :-) > > The attached patch can fix this problem. > > >> > >>> 2. Can you also please put all the utilities version info at the > >>> beginning of the test rather than printing them again and > >>> again(like mke2fs 1.41.9 (22-Aug-2009),tune2fs 1.41.9 > >>> (22-Aug-2009),dumpe2fs 1.41.9 (22-Aug-2009),dumpe2fs 1.41.9 > >>> (22-Aug-2009)) > >> This can go in the next month release as well, if you do not have time > >> to fix now. Else, i have a bug mouth to eat this as well ;-) > > The attached patch can fix this problem. > > > This patch can fix the following problem: > -- delete the code of setting the test_fs flag > -- open the verbose mode of e4defrag, it is useful to find the problem of online defrag > -- fix some bug of the Makefile > -- throw the utilities version info away > > Signed-off-by: Miao Xie <mi...@cn...> > --- > diff --git a/testcases/kernel/fs/ext4-new-features/ext4-delalloc-mballoc/ext4-alloc-test.sh b/testcases/kernel/fs/ext4-new-features/ext4-delalloc-mballoc/ext4-alloc-test.sh > index 63c614c..be7b074 100755 > --- a/testcases/kernel/fs/ext4-new-features/ext4-delalloc-mballoc/ext4-alloc-test.sh > +++ b/testcases/kernel/fs/ext4-new-features/ext4-delalloc-mballoc/ext4-alloc-test.sh > @@ -85,8 +85,7 @@ ext4_test_remount() > # $4: auto_da_alloc > ext4_test_delalloc_mballoc() > { > - tst_resm TINFO "isDelalloc: $1, isDirectIO: $2, Blocksize: $3, \ > - isAuto_da_alloc: $4" > + tst_resm TINFO "isDelalloc: $1, isDirectIO: $2, Blocksize: $3, isAuto_da_alloc: $4" > > mkfs.ext4 -I 256 -b $3 /$EXT4_DEV &> /dev/null > if [ $? -ne 0 ]; then > diff --git a/testcases/kernel/fs/ext4-new-features/ext4-inode-version/ext4_get_inode_version.sh b/testcases/kernel/fs/ext4-new-features/ext4-inode-version/ext4_get_inode_version.sh > index 8f5c907..0e7a8b6 100755 > --- a/testcases/kernel/fs/ext4-new-features/ext4-inode-version/ext4_get_inode_version.sh > +++ b/testcases/kernel/fs/ext4-new-features/ext4-inode-version/ext4_get_inode_version.sh > @@ -24,7 +24,7 @@ > #$2: 1 - return inode version by return value > # !1 - writting inode version to stddev > > -inode_version=`debugfs -R "stat $1" $EXT4_DEV | grep 'Version' | awk '{ > +inode_version=`debugfs -R "stat $1" $EXT4_DEV 2> /dev/null | grep 'Version' | awk '{ > print $NF }'` > > # The inode_version's format: '0x0000000a' or '0x00000000:0000000a', > diff --git a/testcases/kernel/fs/ext4-new-features/ext4-inode-version/ext4_inode_version_test.sh b/testcases/kernel/fs/ext4-new-features/ext4-inode-version/ext4_inode_version_test.sh > index 4798e99..4a58b36 100755 > --- a/testcases/kernel/fs/ext4-new-features/ext4-inode-version/ext4_inode_version_test.sh > +++ b/testcases/kernel/fs/ext4-new-features/ext4-inode-version/ext4_inode_version_test.sh > @@ -67,7 +67,7 @@ ext4_test_128_inode_version() > fi > > # inode version is 32 bits: 0x00000000 > - version=`debugfs $EXT4_DEV -R "stat tmp_file" | grep 'Version'` > + version=`debugfs $EXT4_DEV -R "stat tmp_file" 2> /dev/null | grep 'Version'` > version=`echo $version | awk '{ print $NF }'` > version=`echo $version | sed 's/^0x//'` > len=${#version} > diff --git a/testcases/kernel/fs/ext4-new-features/ext4-journal-checksum/ext4_journal_checksum.sh b/testcases/kernel/fs/ext4-new-features/ext4-journal-checksum/ext4_journal_checksum.sh > index 310eaa0..eb72b5d 100755 > --- a/testcases/kernel/fs/ext4-new-features/ext4-journal-checksum/ext4_journal_checksum.sh > +++ b/testcases/kernel/fs/ext4-new-features/ext4-journal-checksum/ext4_journal_checksum.sh > @@ -59,9 +59,9 @@ ext4_test_journal_checksum() > async_commit="Used" > fi > > - tst_resm TINFO "journal mode: $1, commit interval: $2, \ > - journal_checksum: $checksum, \ > - journal_async_commit: $async_commit, barrier: $5" > + tst_resm TINFO "journal mode: $1, commit interval: $2, " \ > + "journal_checksum: $checksum, " \ > + "journal_async_commit: $async_commit, barrier: $5" > > mkfs.ext4 -I 256 $EXT4_DEV &> /dev/null > if [ $? -ne 0 ]; then > diff --git a/testcases/kernel/fs/ext4-new-features/ext4-online-defrag/ext4_online_defrag_test.sh b/testcases/kernel/fs/ext4-new-features/ext4-online-defrag/ext4_online_defrag_test.sh > index 3747783..c901758 100755 > --- a/testcases/kernel/fs/ext4-new-features/ext4-online-defrag/ext4_online_defrag_test.sh > +++ b/testcases/kernel/fs/ext4-new-features/ext4-online-defrag/ext4_online_defrag_test.sh > @@ -126,13 +126,15 @@ ext4_test_online_defrag() > > tst_resm TINFO "defrag type: $1, defrag obj: $2, block size: $3" > > - mkfs.ext4 -m 0 -b $3 -O ^flex_bg $EXT4_DEV &> /dev/null > + mkfs.ext4 -m 0 -b $3 -O ^flex_bg $EXT4_DEV &>> \ > + $LTPROOT/output/ext4_online_defrag_result.txt > if [ $? -ne 0 ]; then > tst_resm TFAIL "failed to create ext4 filesystem" > return 1 > fi > > - tune2fs -O extents $EXT4_DEV &> /dev/null > + tune2fs -O extents $EXT4_DEV &>> \ > + $LTPROOT/output/ext4_online_defrag_result.txt > > mount -t ext4 -o nodelalloc $EXT4_DEV mnt_point > if [ $? -ne 0 ]; then > @@ -140,9 +142,9 @@ ext4_test_online_defrag() > return 1 > fi > > - age_filesystem $2 $1 >> $LTPROOT/output/ext4_online_defrag_result.txt > + age_filesystem $2 $1 &>> $LTPROOT/output/ext4_online_defrag_result.txt > > - my_e4defrag $1 $2 >> $LTPROOT/output/ext4_online_defrag_result.txt > + my_e4defrag $1 $2 &>> $LTPROOT/output/ext4_online_defrag_result.txt > if [ $? -ne 0 ]; then > tst_resm TFAIL "e4defrag returned failure" > umount mnt_point > @@ -155,13 +157,14 @@ ext4_test_online_defrag() > return 1 > fi > > - e2fsck -p $EXT4_DEV &> /dev/null > + e2fsck -p $EXT4_DEV &>> \ > + $LTPROOT/output/ext4_online_defrag_result.txt > if [ $? -ne 0 ]; then > tst_resm TFAIL "fsck returned failure" > return 1 > fi > > - tst_resm TPASS "ext4 online defrag test pass(defrag type: $1, Aging: $2, block size: $3)" > + tst_resm TPASS "ext4 online defrag test pass" > } > > # main > diff --git a/testcases/kernel/fs/ext4-new-features/ext4-subdir-limit/ext4_subdir_limit_test.sh b/testcases/kernel/fs/ext4-new-features/ext4-subdir-limit/ext4_subdir_limit_test.sh > index 1483191..97b11ab 100755 > --- a/testcases/kernel/fs/ext4-new-features/ext4-subdir-limit/ext4_subdir_limit_test.sh > +++ b/testcases/kernel/fs/ext4-new-features/ext4-subdir-limit/ext4_subdir_limit_test.sh > @@ -59,8 +59,8 @@ ext4_run_case() > dir_name_len="long name" > fi > > - tst_resm TINFO "Num of dirs to create: $1, Dir name len: $dir_name_len \ > - Parent dir: $3, Block size: $4" > + tst_resm TINFO "Num of dirs to create: $1, Dir name len: $dir_name_len, " \ > + "Parent dir: $3, Block size: $4" > > # only mkfs if block size has been changed, > # or previous case failed > @@ -127,7 +127,7 @@ ext4_run_case() > fi > > # check dir_nlink is set > - dumpe2fs $EXT4_DEV | grep '^Filesystem features' | grep -q dir_nlink > + dumpe2fs $EXT4_DEV 2> /dev/null | grep '^Filesystem features' | grep -q dir_nlink > if [ $? -ne 0 ]; then > tst_resm TFAIL "feature dir_nlink is not set" > return 1 > diff --git a/testcases/kernel/fs/ext4-new-features/ext4-uninit-groups/ext4_uninit_groups_test.sh b/testcases/kernel/fs/ext4-new-features/ext4-uninit-groups/ext4_uninit_groups_test.sh > index 88fbfa9..c3fe386 100755 > --- a/testcases/kernel/fs/ext4-new-features/ext4-uninit-groups/ext4_uninit_groups_test.sh > +++ b/testcases/kernel/fs/ext4-new-features/ext4-uninit-groups/ext4_uninit_groups_test.sh > @@ -40,8 +40,8 @@ LARGE=3 > # filesystem free size in bytes: blocks_size * free_blocks > filesystem_free_size() > { > - bsize=`dumpe2fs -h $EXT4_DEV | grep 'Block size' | awk '{ print $2 }'` > - blocks=`dumpe2fs -h $EXT4_DEV | grep 'Free blocks'| awk '{ print $2 }'` > + bsize=`dumpe2fs -h $EXT4_DEV 2> /dev/null | grep 'Block size' | awk '{ print $2 }'` > + blocks=`dumpe2fs -h $EXT4_DEV 2> /dev/null | grep 'Free blocks'| awk '{ print $2 }'` > > echo $bsize * $blocks > } > @@ -61,9 +61,9 @@ age_filesystem() > } > elif [ $1 -eq $LARGE ]; then > rm -rf mnt_point/* > - bsize=`dumpe2fs -h $EXT4_DEV | grep 'Block size'` > + bsize=`dumpe2fs -h $EXT4_DEV 2> /dev/null | grep 'Block size'` > bsize=`echo $bsize | awk '{ print $3 }'` > - bcount=`dumpe2fs -h $EXT4_DEV | grep 'Free blocks'` > + bcount=`dumpe2fs -h $EXT4_DEV 2> /dev/null | grep 'Free blocks'` > bcount=`echo $bcount | awk '{ print $3 }'` > dd if=/dev/zero of=mnt_point/tmp_dir bs=$bsize count=$bcount > else > @@ -80,6 +80,8 @@ age_filesystem() > # $4: age filesystem: $EMPTY, $SMALL, $LARGE > ext4_test_uninit_groups() > { > + echo "Test $TST_COUNT" >> $LTPROOT/output/ext4_uninit_groups_result.txt > + > mkfs.ext4 -I 256 -m 0 $EXT4_DEV &> /dev/null > if [ $? -ne 0 ]; then > tst_resm TFAIL "failed to create ext4 filesystem" > @@ -103,7 +105,7 @@ ext4_test_uninit_groups() > return 1 > fi > > - age_filesystem $4 > + age_filesystem $4 &>> $LTPROOT/output/ext4_uninit_groups_result.txt > if [ $? -ne 0 ]; then > tst_resm TFAIL "age filesystem failed" > umount mnt_point > @@ -135,6 +137,8 @@ AGING=( $EMPTY $SMALL $LARGE ) > > RET=0 > > +rm -f $LTPROOT/output/ext4_uninit_groups_result.txt > + > for ((i = 0; i < 2; i++)) > { > for ((j = 0; j < 2; j++)) > -- > |
From: Miao X. <mi...@cn...> - 2009-12-04 10:00:40
|
Hi, Subrata on 2009-12-3 23:11, Subrata Modak wrote: >> on 2009-11-2 21:59, Subrata Modak wrote: >>>>>>> /dev/VG1_EXT4/LV1_EXT4: The test_fs flag is set (and ext4 is >>>>>>> available). >>>>>>> CLEARED. >>>>>> You don't need to set the test_fs flag for modern ext4. >>>>> Can we change this ? >> The attached patch can fix this problem. > > I had already checked in your earlier patch long back. So, you would > please need to resend over the latest code. I'm sorry that I didn't bring the new patch(was sent on 2009-11-30) to your attention, so I resend that new patch now. I have tried to apply the patch to the latest code in the cvs repository and everything is ok. Subrata, I didn't find these failure about online defrag on my box. The attached patch opens the verbose mode of e4defrag to get more information later, it is useful to find the problem of online defrag. So, Could you test it again and send the output info to me? The following is changelog. ========================= This patch can fix the following problem: -- delete the code of setting the test_fs flag -- open the verbose mode of e4defrag, it is useful to find the problem of online defrag -- fix some bug of the Makefile -- throw the utilities version info away -- delete two unnecessary testcases about ext4 subdir limit test Signed-off-by: Miao Xie <mi...@cn...> --- testcases/kernel/fs/ext4-new-features/Makefile | 20 ++++++++++---- testcases/kernel/fs/ext4-new-features/README | 7 +---- .../ext4-delalloc-mballoc/ext4-alloc-test.sh | 15 ++++------ .../ext4-inode-version/ext4_get_inode_version.sh | 2 +- .../ext4-inode-version/ext4_inode_version_test.sh | 10 +++---- .../ext4-journal-checksum/ext4_journal_checksum.sh | 12 ++++---- .../ext4_nsec_timestamps_test.sh | 8 ++--- .../ext4-online-defrag/ext4_online_defrag_test.sh | 28 ++++++++++++------- .../ext4_persist_prealloc_test.sh | 4 +- .../ext4-subdir-limit/ext4_subdir_limit_test.sh | 17 +++++++----- .../ext4-uninit-groups/ext4_uninit_groups_test.sh | 22 +++++++++------ 11 files changed, 78 insertions(+), 67 deletions(-) diff --git a/testcases/kernel/fs/ext4-new-features/Makefile b/testcases/kernel/fs/ext4-new-features/Makefile index 0e09dd6..208b8a6 100644 --- a/testcases/kernel/fs/ext4-new-features/Makefile +++ b/testcases/kernel/fs/ext4-new-features/Makefile @@ -22,17 +22,25 @@ top_srcdir ?= ../../../.. include $(top_srcdir)/include/mk/env_pre.mk -INSTALL_TARGETS := *.sh -INSTALL_TARGETS := ext4-test-config -INSTALL_TARGETS := ffsb-6.0-rc2/ffsb +INSTALL_TARGETS += ffsb +INSTALL_TARGETS += run_ext4_test.sh +INSTALL_TARGETS += ext4_funcs.sh +INSTALL_TARGETS += ext4-test-config -FILTER_OUT_DIRS := ffsb-6.0-rc2 +FFSBDIR := ffsb-6.0-rc2 +FILTER_OUT_DIRS := $(FFSBDIR) +FFSB := $(FFSBDIR)/ffsb -trunk-all: ffsb-6.0-rc2 +$(FFSB): $(FFSBDIR) + $(MAKE) -C $^ -f "$(abs_srcdir)/$^/Makefile" all + cp $(FFSBDIR)/ffsb ffsb + +trunk-all: $(FFSB) trunk-clean:: | ffsb-clean -ffsb-clean:: ffsb-6.0-rc2 +ffsb-clean:: $(FFSBDIR) $(MAKE) -C $^ -f "$(abs_srcdir)/$^/Makefile" clean + rm -rf ffsb include $(top_srcdir)/include/mk/generic_trunk_target.mk diff --git a/testcases/kernel/fs/ext4-new-features/README b/testcases/kernel/fs/ext4-new-features/README index 0ea0460..bda16e5 100644 --- a/testcases/kernel/fs/ext4-new-features/README +++ b/testcases/kernel/fs/ext4-new-features/README @@ -9,7 +9,7 @@ with increasing disk capacities and state-of-the-art feature requirements. More extensive information of ext4 can be found at the ext4 wiki site at the URL: http://ext4.wiki.kernel.org -There are total 119 testcases for ext4 new features test that have been added. +There are total 117 testcases for ext4 new features test that have been added. Now, these testcases can test multi-block alloc/delayed alloc, inode version field on disk, journal checksumming, nanosec timestamps, online defrag, persist prealloc, subdirectory limit and uninit groups of ext4. @@ -111,11 +111,6 @@ Directory containing the shell script which is used to test subdirectory limit of ext4. According to the kernel documentation, we create more than 32000 subdirectorys on the ext4 filesystem. -But, when then block size is small, such as 1024, and the name of every -subdirectory is very long, such as every name is 255 bytes, we can just create -less than 20000 subdirectory. In this test suite, there is two FAIL cases by -reason of it. - ext4-uninit-groups ------------------ Directory containing the shell script which is used to test uninitialized groups diff --git a/testcases/kernel/fs/ext4-new-features/ext4-delalloc-mballoc/ext4-alloc-test.sh b/testcases/kernel/fs/ext4-new-features/ext4-delalloc-mballoc/ext4-alloc-test.sh index ec2f389..be7b074 100755 --- a/testcases/kernel/fs/ext4-new-features/ext4-delalloc-mballoc/ext4-alloc-test.sh +++ b/testcases/kernel/fs/ext4-new-features/ext4-delalloc-mballoc/ext4-alloc-test.sh @@ -37,14 +37,12 @@ read_config $1 # Case 17: mount ext4 partition to ext3 ext4_test_remount() { - mkfs.ext3 -I 256 -b 1024 $EXT4_DEV > /dev/null + mkfs.ext3 -I 256 -b 1024 $EXT4_DEV &> /dev/null if [ $? -ne 0 ]; then tst_resm TFAIL "failed to create ext4 filesystem" return 1 fi - tune2fs -E test_fs $EXT4_DEV - mount -t ext4 -o delalloc,auto_da_alloc $EXT4_DEV mnt_point if [ $? -ne 0 ]; then tst_resm TFAIL "failed to mount ext4 filesystem" @@ -71,7 +69,7 @@ ext4_test_remount() fi umount mnt_point - fsck -p $EXT4_DEV + fsck -p $EXT4_DEV &> /dev/null if [ $? -ne 0 ]; then tst_resm TFAIL "fsck returned failure" return 1 @@ -87,16 +85,15 @@ ext4_test_remount() # $4: auto_da_alloc ext4_test_delalloc_mballoc() { - tst_resm TINFO "isDelalloc: $1, isDirectIO: $2, Blocksize: $3, \ - isAuto_da_alloc: $4" + tst_resm TINFO "isDelalloc: $1, isDirectIO: $2, Blocksize: $3, isAuto_da_alloc: $4" - mkfs.ext4 -I 256 -b $3 /$EXT4_DEV > /dev/null + mkfs.ext4 -I 256 -b $3 /$EXT4_DEV &> /dev/null if [ $? -ne 0 ]; then tst_resm TFAIL "failed to create ext4 filesystem" return 1 fi - tune2fs -E test_fs -O extents $EXT4_DEV + tune2fs -O extents $EXT4_DEV &> /dev/null mount -t ext4 -o $1,$4 $EXT4_DEV mnt_point if [ $? -ne 0 ]; then @@ -117,7 +114,7 @@ ext4_test_delalloc_mballoc() return 1 fi - fsck -p $EXT4_DEV + fsck -p $EXT4_DEV &> /dev/null if [ $? -ne 0 ]; then tst_resm TFAIL "fsck returned failure" return 1 diff --git a/testcases/kernel/fs/ext4-new-features/ext4-inode-version/ext4_get_inode_version.sh b/testcases/kernel/fs/ext4-new-features/ext4-inode-version/ext4_get_inode_version.sh index 8f5c907..0e7a8b6 100755 --- a/testcases/kernel/fs/ext4-new-features/ext4-inode-version/ext4_get_inode_version.sh +++ b/testcases/kernel/fs/ext4-new-features/ext4-inode-version/ext4_get_inode_version.sh @@ -24,7 +24,7 @@ #$2: 1 - return inode version by return value # !1 - writting inode version to stddev -inode_version=`debugfs -R "stat $1" $EXT4_DEV | grep 'Version' | awk '{ +inode_version=`debugfs -R "stat $1" $EXT4_DEV 2> /dev/null | grep 'Version' | awk '{ print $NF }'` # The inode_version's format: '0x0000000a' or '0x00000000:0000000a', diff --git a/testcases/kernel/fs/ext4-new-features/ext4-inode-version/ext4_inode_version_test.sh b/testcases/kernel/fs/ext4-new-features/ext4-inode-version/ext4_inode_version_test.sh index f27248b..4a58b36 100755 --- a/testcases/kernel/fs/ext4-new-features/ext4-inode-version/ext4_inode_version_test.sh +++ b/testcases/kernel/fs/ext4-new-features/ext4-inode-version/ext4_inode_version_test.sh @@ -41,13 +41,13 @@ ext4_test_128_inode_version() { tst_resm TINFO "Test inode version is 32 bits with 128 inode size" - mkfs.ext4 -I 128 $EXT4_DEV > /dev/null + mkfs.ext4 -I 128 $EXT4_DEV &> /dev/null if [ $? -ne 0 ]; then tst_resm TFAIL "failed to create ext4 filesystem" return 1 fi - tune2fs -E test_fs -O extents $EXT4_DEV + tune2fs -O extents $EXT4_DEV &> /dev/null mount -t ext4 -o i_version $EXT4_DEV mnt_point if [ $? -ne 0 ]; then @@ -67,7 +67,7 @@ ext4_test_128_inode_version() fi # inode version is 32 bits: 0x00000000 - version=`debugfs $EXT4_DEV -R "stat tmp_file" | grep 'Version'` + version=`debugfs $EXT4_DEV -R "stat tmp_file" 2> /dev/null | grep 'Version'` version=`echo $version | awk '{ print $NF }'` version=`echo $version | sed 's/^0x//'` len=${#version} @@ -91,14 +91,12 @@ ext4_test_128_inode_version() # $1: file operation test_inode_version() { - mkfs.ext3 -I 256 $EXT4_DEV > /dev/null + mkfs.ext3 -I 256 $EXT4_DEV &> /dev/null if [ $? -ne 0 ]; then tst_resm TFAIL "failed to create ext4 filesystem" return 1 fi - tune2fs -E test_fs $EXT4_DEV > /dev/null - mount -t ext4 -o i_version $EXT4_DEV mnt_point if [ $? -ne 0 ]; then tst_resm TFAIL "failed to mount ext4 filesystem" diff --git a/testcases/kernel/fs/ext4-new-features/ext4-journal-checksum/ext4_journal_checksum.sh b/testcases/kernel/fs/ext4-new-features/ext4-journal-checksum/ext4_journal_checksum.sh index 550afa1..eb72b5d 100755 --- a/testcases/kernel/fs/ext4-new-features/ext4-journal-checksum/ext4_journal_checksum.sh +++ b/testcases/kernel/fs/ext4-new-features/ext4-journal-checksum/ext4_journal_checksum.sh @@ -59,17 +59,17 @@ ext4_test_journal_checksum() async_commit="Used" fi - tst_resm TINFO "journal mode: $1, commit interval: $2, \ - journal_checksum: $checksum, \ - journal_async_commit: $async_commit, barrier: $5" + tst_resm TINFO "journal mode: $1, commit interval: $2, " \ + "journal_checksum: $checksum, " \ + "journal_async_commit: $async_commit, barrier: $5" - mkfs.ext4 -I 256 $EXT4_DEV > /dev/null + mkfs.ext4 -I 256 $EXT4_DEV &> /dev/null if [ $? -ne 0 ]; then tst_resm TFAIL "failed to create ext4 filesystem" return 1 fi - tune2fs -E test_fs -O extents $EXT4_DEV + tune2fs -O extents $EXT4_DEV &> /dev/null mount -t ext4 -o data=$1,commit=$2,$3,$4,barrier=$5 $EXT4_DEV mnt_point if [ $? -ne 0 ]; then @@ -90,7 +90,7 @@ ext4_test_journal_checksum() return 1 fi - e2fsck -p $EXT4_DEV + e2fsck -p $EXT4_DEV &> /dev/null if [ $? -ne 0 ]; then tst_resm TFAIL "fsck returned failure" return 1 diff --git a/testcases/kernel/fs/ext4-new-features/ext4-nsec-timestamps/ext4_nsec_timestamps_test.sh b/testcases/kernel/fs/ext4-new-features/ext4-nsec-timestamps/ext4_nsec_timestamps_test.sh index ced6576..cc00507 100755 --- a/testcases/kernel/fs/ext4-new-features/ext4-nsec-timestamps/ext4_nsec_timestamps_test.sh +++ b/testcases/kernel/fs/ext4-new-features/ext4-nsec-timestamps/ext4_nsec_timestamps_test.sh @@ -41,13 +41,13 @@ ext4_test_sec_timestamps() { tst_resm TINFO "Test timestamps with 128 inode size" - mkfs.ext4 -I 128 $EXT4_DEV > /dev/null + mkfs.ext4 -I 128 $EXT4_DEV &> /dev/null if [ $? -ne 0 ]; then tst_resm TFAIL "failed to create ext4 filesystem" return 1 fi - tune2fs -E test_fs -O extents $EXT4_DEV + tune2fs -O extents $EXT4_DEV &> /dev/null mount -t ext4 $EXT4_DEV mnt_point if [ $? -ne 0 ]; then @@ -82,14 +82,12 @@ ext4_test_nsec_timestamps() { tst_resm TINFO "Test timestamps with 256 inode size" - mkfs.ext3 -I 256 $EXT4_DEV > /dev/null + mkfs.ext3 -I 256 $EXT4_DEV &> /dev/null if [ $? -ne 0 ]; then tst_resm TFAIL "failed to create ext4 filesystem" return 1 fi - tune2fs -E test_fs $EXT4_DEV - mount -t ext4 $EXT4_DEV mnt_point if [ $? -ne 0 ]; then tst_resm TFAIL "failed to mount ext4 filesystem" diff --git a/testcases/kernel/fs/ext4-new-features/ext4-online-defrag/ext4_online_defrag_test.sh b/testcases/kernel/fs/ext4-new-features/ext4-online-defrag/ext4_online_defrag_test.sh index 84613c8..7b4dda3 100755 --- a/testcases/kernel/fs/ext4-new-features/ext4-online-defrag/ext4_online_defrag_test.sh +++ b/testcases/kernel/fs/ext4-new-features/ext4-online-defrag/ext4_online_defrag_test.sh @@ -94,23 +94,23 @@ my_e4defrag() { if [ $1 -eq $FILE ]; then if [ $2 -eq $SMALL ]; then - ./e4defrag mnt_point/data0/ + ./e4defrag -v mnt_point/data0/ return $? # EMPTY or LARGE else - ./e4defrag mnt_point/tmp_file + ./e4defrag -v mnt_point/tmp_file return $? fi elif [ $1 -eq $DIR ]; then if [ $2 -eq $SMALL ]; then - ./e4defrag mnt_point/data0/ + ./e4defrag -v mnt_point/data0/ return $? else - ./e4defrag mnt_point/tmp_dir + ./e4defrag -v mnt_point/tmp_dir return $? fi else - ./e4defrag $EXT4_DEV + ./e4defrag -v $EXT4_DEV return $? fi } @@ -121,15 +121,20 @@ my_e4defrag() # $3: block size ext4_test_online_defrag() { + echo Test $TST_COUNT start >> \ + $LTPROOT/output/ext4_online_defrag_result.txt + tst_resm TINFO "defrag type: $1, defrag obj: $2, block size: $3" - mkfs.ext4 -m 0 -b $3 -O ^flex_bg $EXT4_DEV > /dev/null + mkfs.ext4 -m 0 -b $3 -O ^flex_bg $EXT4_DEV >> \ + $LTPROOT/output/ext4_online_defrag_result.txt 2>&1 if [ $? -ne 0 ]; then tst_resm TFAIL "failed to create ext4 filesystem" return 1 fi - tune2fs -E test_fs -O extents $EXT4_DEV + tune2fs -O extents $EXT4_DEV >> \ + $LTPROOT/output/ext4_online_defrag_result.txt 2>&1 mount -t ext4 -o nodelalloc $EXT4_DEV mnt_point if [ $? -ne 0 ]; then @@ -137,7 +142,7 @@ ext4_test_online_defrag() return 1 fi - age_filesystem $2 $1 + age_filesystem $2 $1 >> $LTPROOT/output/ext4_online_defrag_result.txt 2>&1 my_e4defrag $1 $2 >> $LTPROOT/output/ext4_online_defrag_result.txt if [ $? -ne 0 ]; then @@ -152,18 +157,21 @@ ext4_test_online_defrag() return 1 fi - e2fsck -p $EXT4_DEV + e2fsck -p $EXT4_DEV >> \ + $LTPROOT/output/ext4_online_defrag_result.txt 2>&1 if [ $? -ne 0 ]; then tst_resm TFAIL "fsck returned failure" return 1 fi - tst_resm TPASS "ext4 online defrag test pass(defrag type: $1, Aging: $2, block size: $3)" + tst_resm TPASS "ext4 online defrag test pass" } # main ext4_setup +rm -f $LTPROOT/output/ext4_online_defrag_result.txt + DEFRAG=( $FILE $DIR $FILESYSTEM ) AGING=( $EMPTY $SMALL $LARGE ) BLOCK_SIZE=( 1024 4096 ) diff --git a/testcases/kernel/fs/ext4-new-features/ext4-persist-prealloc/ext4_persist_prealloc_test.sh b/testcases/kernel/fs/ext4-new-features/ext4-persist-prealloc/ext4_persist_prealloc_test.sh index 0d293e8..e895d25 100755 --- a/testcases/kernel/fs/ext4-new-features/ext4-persist-prealloc/ext4_persist_prealloc_test.sh +++ b/testcases/kernel/fs/ext4-new-features/ext4-persist-prealloc/ext4_persist_prealloc_test.sh @@ -43,7 +43,7 @@ export TDIRECTORY=$PWD/mnt_point/ # $1: 1024 or 4096 ext4_test_persist_prealloc() { - mkfs.ext4 -I 256 -b $1 $EXT4_DEV > /dev/null + mkfs.ext4 -I 256 -b $1 $EXT4_DEV &> /dev/null if [ $? -ne 0 ]; then tst_resm TFAIL "failed to create ext4 filesystem" return 1 @@ -81,7 +81,7 @@ ext4_test_persist_prealloc() return 1 fi - e2fsck -p $EXT4_DEV + e2fsck -p $EXT4_DEV &> /dev/null if [ $? -ne 0 ]; then tst_resm TFAIL "fsck returned failure" return 1 diff --git a/testcases/kernel/fs/ext4-new-features/ext4-subdir-limit/ext4_subdir_limit_test.sh b/testcases/kernel/fs/ext4-new-features/ext4-subdir-limit/ext4_subdir_limit_test.sh index 42c4336..5631fe5 100755 --- a/testcases/kernel/fs/ext4-new-features/ext4-subdir-limit/ext4_subdir_limit_test.sh +++ b/testcases/kernel/fs/ext4-new-features/ext4-subdir-limit/ext4_subdir_limit_test.sh @@ -28,7 +28,7 @@ cd $LTPROOT/testcases/bin . ./ext4_funcs.sh export TCID="ext4-subdir-limit" -export TST_TOTAL=12 +export TST_TOTAL=10 export TST_COUNT=1 # $1: the test config @@ -59,20 +59,20 @@ ext4_run_case() dir_name_len="long name" fi - tst_resm TINFO "Num of dirs to create: $1, Dir name len: $dir_name_len \ - Parent dir: $3, Block size: $4" + tst_resm TINFO "Num of dirs to create: $1, Dir name len: $dir_name_len, " \ + "Parent dir: $3, Block size: $4" # only mkfs if block size has been changed, # or previous case failed if [ $prev_result -ne $PASS -o $4 -ne $prev_block_size ]; then - mkfs.ext4 -b $4 -I 256 $EXT4_DEV > /dev/null + mkfs.ext4 -b $4 -I 256 $EXT4_DEV &> /dev/null if [ $? -ne 0 ]; then tst_resm TFAIL "failed to create ext4 filesystem" return 1 fi prev_block_size=$4 - tune2fs -E test_fs -O extents $EXT4_DEV + tune2fs -O extents $EXT4_DEV &> /dev/null fi prev_result=$FAIL @@ -120,14 +120,14 @@ ext4_run_case() fi # run fsck to make sure the filesystem has no errors - e2fsck -p $EXT4_DEV + e2fsck -p $EXT4_DEV &> /dev/null if [ $? -ne 0 ]; then tst_resm TFAIL "fsck: the filesystem has errors" return 1 fi # check dir_nlink is set - dumpe2fs $EXT4_DEV | grep '^Filesystem features' | grep -q dir_nlink + dumpe2fs $EXT4_DEV 2> /dev/null | grep '^Filesystem features' | grep -q dir_nlink if [ $? -ne 0 ]; then tst_resm TFAIL "feature dir_nlink is not set" return 1 @@ -152,6 +152,9 @@ for ((i = 0; i < 3; i++)) { for ((k = 0; k < 2; k++)) { + if [ $i -eq $LONG_DIR -a $k -eq 1024 ]; then + continue + fi ext4_run_case 65537 ${DIR_LEN[$k]} ${PARENT_DIR[$j]} \ ${BLOCK_SIZE[$i]} if [ $? -ne 0 ]; then diff --git a/testcases/kernel/fs/ext4-new-features/ext4-uninit-groups/ext4_uninit_groups_test.sh b/testcases/kernel/fs/ext4-new-features/ext4-uninit-groups/ext4_uninit_groups_test.sh index 27cbb5f..b479c8f 100755 --- a/testcases/kernel/fs/ext4-new-features/ext4-uninit-groups/ext4_uninit_groups_test.sh +++ b/testcases/kernel/fs/ext4-new-features/ext4-uninit-groups/ext4_uninit_groups_test.sh @@ -40,8 +40,8 @@ LARGE=3 # filesystem free size in bytes: blocks_size * free_blocks filesystem_free_size() { - bsize=`dumpe2fs -h $EXT4_DEV | grep 'Block size' | awk '{ print $2 }'` - blocks=`dumpe2fs -h $EXT4_DEV | grep 'Free blocks'| awk '{ print $2 }'` + bsize=`dumpe2fs -h $EXT4_DEV 2> /dev/null | grep 'Block size' | awk '{ print $2 }'` + blocks=`dumpe2fs -h $EXT4_DEV 2> /dev/null | grep 'Free blocks'| awk '{ print $2 }'` echo $bsize * $blocks } @@ -61,9 +61,9 @@ age_filesystem() } elif [ $1 -eq $LARGE ]; then rm -rf mnt_point/* - bsize=`dumpe2fs -h $EXT4_DEV | grep 'Block size'` + bsize=`dumpe2fs -h $EXT4_DEV 2> /dev/null | grep 'Block size'` bsize=`echo $bsize | awk '{ print $3 }'` - bcount=`dumpe2fs -h $EXT4_DEV | grep 'Free blocks'` + bcount=`dumpe2fs -h $EXT4_DEV 2> /dev/null | grep 'Free blocks'` bcount=`echo $bcount | awk '{ print $3 }'` dd if=/dev/zero of=mnt_point/tmp_dir bs=$bsize count=$bcount else @@ -80,7 +80,9 @@ age_filesystem() # $4: age filesystem: $EMPTY, $SMALL, $LARGE ext4_test_uninit_groups() { - mkfs.ext4 -I 256 -m 0 $EXT4_DEV > /dev/null + echo "Test $TST_COUNT" >> $LTPROOT/output/ext4_uninit_groups_result.txt + + mkfs.ext4 -I 256 -m 0 $EXT4_DEV &> /dev/null if [ $? -ne 0 ]; then tst_resm TFAIL "failed to create ext4 filesystem" return 1 @@ -92,10 +94,10 @@ ext4_test_uninit_groups() flag=$3 fi - tune2fs -E test_fs -O extents,uninit_groups,$flag $EXT4_DEV + tune2fs -O extents,uninit_groups,$flag $EXT4_DEV &> /dev/null # Must run fsck after setting uninit_groups - fsck -p $EXT4_DEV > /dev/null + fsck -p $EXT4_DEV &> /dev/null mount -t ext4 -o $1,$2 $EXT4_DEV mnt_point if [ $? -ne 0 ]; then @@ -103,7 +105,7 @@ ext4_test_uninit_groups() return 1 fi - age_filesystem $4 + age_filesystem $4 >> $LTPROOT/output/ext4_uninit_groups_result.txt 2>&1 if [ $? -ne 0 ]; then tst_resm TFAIL "age filesystem failed" umount mnt_point @@ -116,7 +118,7 @@ ext4_test_uninit_groups() return 1 fi - fsck -p $EXT4_DEV + fsck -p $EXT4_DEV &> /dev/null if [ $? -ne 0 ]; then tst_resm TFAIL "fsck returned failure" return 1 @@ -135,6 +137,8 @@ AGING=( $EMPTY $SMALL $LARGE ) RET=0 +rm -f $LTPROOT/output/ext4_uninit_groups_result.txt + for ((i = 0; i < 2; i++)) { for ((j = 0; j < 2; j++)) -- 1.6.5.2 |
From: Subrata M. <su...@li...> - 2009-12-07 11:54:09
|
Hi Miao, On Fri, 2009-12-04 at 18:04 +0800, Miao Xie wrote: > Hi, Subrata > > on 2009-12-3 23:11, Subrata Modak wrote: > >> on 2009-11-2 21:59, Subrata Modak wrote: > >>>>>>> /dev/VG1_EXT4/LV1_EXT4: The test_fs flag is set (and ext4 is > >>>>>>> available). > >>>>>>> CLEARED. > >>>>>> You don't need to set the test_fs flag for modern ext4. > >>>>> Can we change this ? > >> The attached patch can fix this problem. > > > > I had already checked in your earlier patch long back. So, you would > > please need to resend over the latest code. > > I'm sorry that I didn't bring the new patch(was sent on 2009-11-30) to your attention, > so I resend that new patch now. I have tried to apply the patch to the latest code > in the cvs repository and everything is ok. > > Subrata, I didn't find these failure about online defrag on my box. > The attached patch opens the verbose mode of e4defrag to get more information later, it is > useful to find the problem of online defrag. So, Could you test it again and send the output > info to me? > > The following is changelog. > ========================= > This patch can fix the following problem: > -- delete the code of setting the test_fs flag > -- open the verbose mode of e4defrag, it is useful to find the problem of online defrag > -- fix some bug of the Makefile > -- throw the utilities version info away > -- delete two unnecessary testcases about ext4 subdir limit test > > Signed-off-by: Miao Xie <mi...@cn...> I still find some issues: patching file testcases/kernel/fs/ext4-new-features/Makefile Hunk #1 FAILED at 22. 1 out of 1 hunk FAILED -- saving rejects to file testcases/kernel/fs/ext4-new-features/Makefile.rej patching file testcases/kernel/fs/ext4-new-features/README Hunk #1 FAILED at 9. Hunk #2 FAILED at 111. 2 out of 2 hunks FAILED -- saving rejects to file testcases/kernel/fs/ext4-new-features/README.rej patching file testcases/kernel/fs/ext4-new-features/ext4-delalloc-mballoc/ext4-alloc-test.sh Hunk #1 FAILED at 37. Hunk #2 FAILED at 69. Hunk #3 FAILED at 85. Hunk #4 FAILED at 114. 4 out of 4 hunks FAILED -- saving rejects to file testcases/kernel/fs/ext4-new-features/ext4-delalloc-mballoc/ext4-alloc-test.sh.rej patching file testcases/kernel/fs/ext4-new-features/ext4-inode-version/ext4_get_inode_version.sh Hunk #1 FAILED at 24. 1 out of 1 hunk FAILED -- saving rejects to file testcases/kernel/fs/ext4-new-features/ext4-inode-version/ext4_get_inode_version.sh.rej patching file testcases/kernel/fs/ext4-new-features/ext4-inode-version/ext4_inode_version_test.sh Hunk #1 FAILED at 41. Hunk #2 FAILED at 67. Hunk #3 FAILED at 91. 3 out of 3 hunks FAILED -- saving rejects to file testcases/kernel/fs/ext4-new-features/ext4-inode-version/ext4_inode_version_test.sh.rej patching file testcases/kernel/fs/ext4-new-features/ext4-journal-checksum/ext4_journal_checksum.sh Hunk #1 FAILED at 59. Hunk #2 FAILED at 90. 2 out of 2 hunks FAILED -- saving rejects to file testcases/kernel/fs/ext4-new-features/ext4-journal-checksum/ext4_journal_checksum.sh.rej patching file testcases/kernel/fs/ext4-new-features/ext4-nsec-timestamps/ext4_nsec_timestamps_test.sh Hunk #1 FAILED at 41. Hunk #2 FAILED at 82. 2 out of 2 hunks FAILED -- saving rejects to file testcases/kernel/fs/ext4-new-features/ext4-nsec-timestamps/ext4_nsec_timestamps_test.sh.rej patching file testcases/kernel/fs/ext4-new-features/ext4-online-defrag/ext4_online_defrag_test.sh Hunk #1 FAILED at 94. Hunk #2 FAILED at 121. Hunk #3 succeeded at 142 with fuzz 2. Hunk #4 FAILED at 157. 3 out of 4 hunks FAILED -- saving rejects to file testcases/kernel/fs/ext4-new-features/ext4-online-defrag/ext4_online_defrag_test.sh.rej patching file testcases/kernel/fs/ext4-new-features/ext4-persist-prealloc/ext4_persist_prealloc_test.sh Hunk #1 FAILED at 43. Hunk #2 FAILED at 81. 2 out of 2 hunks FAILED -- saving rejects to file testcases/kernel/fs/ext4-new-features/ext4-persist-prealloc/ext4_persist_prealloc_test.sh.rej patching file testcases/kernel/fs/ext4-new-features/ext4-subdir-limit/ext4_subdir_limit_test.sh Hunk #1 FAILED at 28. Hunk #2 FAILED at 59. Hunk #3 FAILED at 120. Hunk #4 FAILED at 152. 4 out of 4 hunks FAILED -- saving rejects to file testcases/kernel/fs/ext4-new-features/ext4-subdir-limit/ext4_subdir_limit_test.sh.rej patching file testcases/kernel/fs/ext4-new-features/ext4-uninit-groups/ext4_uninit_groups_test.sh Hunk #1 FAILED at 40. Hunk #2 FAILED at 61. Hunk #3 FAILED at 80. Hunk #4 FAILED at 94. Hunk #5 FAILED at 105. Hunk #6 FAILED at 118. Hunk #7 FAILED at 137. 7 out of 7 hunks FAILED -- saving rejects to file testcases/kernel/fs/ext4-new-features/ext4-uninit-groups/ext4_uninit_groups_test.sh.rej Regards-- Subrata > --- > testcases/kernel/fs/ext4-new-features/Makefile | 20 ++++++++++---- > testcases/kernel/fs/ext4-new-features/README | 7 +---- > .../ext4-delalloc-mballoc/ext4-alloc-test.sh | 15 ++++------ > .../ext4-inode-version/ext4_get_inode_version.sh | 2 +- > .../ext4-inode-version/ext4_inode_version_test.sh | 10 +++---- > .../ext4-journal-checksum/ext4_journal_checksum.sh | 12 ++++---- > .../ext4_nsec_timestamps_test.sh | 8 ++--- > .../ext4-online-defrag/ext4_online_defrag_test.sh | 28 ++++++++++++------- > .../ext4_persist_prealloc_test.sh | 4 +- > .../ext4-subdir-limit/ext4_subdir_limit_test.sh | 17 +++++++----- > .../ext4-uninit-groups/ext4_uninit_groups_test.sh | 22 +++++++++------ > 11 files changed, 78 insertions(+), 67 deletions(-) > > diff --git a/testcases/kernel/fs/ext4-new-features/Makefile b/testcases/kernel/fs/ext4-new-features/Makefile > index 0e09dd6..208b8a6 100644 > --- a/testcases/kernel/fs/ext4-new-features/Makefile > +++ b/testcases/kernel/fs/ext4-new-features/Makefile > @@ -22,17 +22,25 @@ top_srcdir ?= ../../../.. > > include $(top_srcdir)/include/mk/env_pre.mk > > -INSTALL_TARGETS := *.sh > -INSTALL_TARGETS := ext4-test-config > -INSTALL_TARGETS := ffsb-6.0-rc2/ffsb > +INSTALL_TARGETS += ffsb > +INSTALL_TARGETS += run_ext4_test.sh > +INSTALL_TARGETS += ext4_funcs.sh > +INSTALL_TARGETS += ext4-test-config > > -FILTER_OUT_DIRS := ffsb-6.0-rc2 > +FFSBDIR := ffsb-6.0-rc2 > +FILTER_OUT_DIRS := $(FFSBDIR) > +FFSB := $(FFSBDIR)/ffsb > > -trunk-all: ffsb-6.0-rc2 > +$(FFSB): $(FFSBDIR) > + $(MAKE) -C $^ -f "$(abs_srcdir)/$^/Makefile" all > + cp $(FFSBDIR)/ffsb ffsb > + > +trunk-all: $(FFSB) > > trunk-clean:: | ffsb-clean > > -ffsb-clean:: ffsb-6.0-rc2 > +ffsb-clean:: $(FFSBDIR) > $(MAKE) -C $^ -f "$(abs_srcdir)/$^/Makefile" clean > + rm -rf ffsb > > include $(top_srcdir)/include/mk/generic_trunk_target.mk > diff --git a/testcases/kernel/fs/ext4-new-features/README b/testcases/kernel/fs/ext4-new-features/README > index 0ea0460..bda16e5 100644 > --- a/testcases/kernel/fs/ext4-new-features/README > +++ b/testcases/kernel/fs/ext4-new-features/README > @@ -9,7 +9,7 @@ with increasing disk capacities and state-of-the-art feature requirements. More > extensive information of ext4 can be found at the ext4 wiki site at the URL: > http://ext4.wiki.kernel.org > > -There are total 119 testcases for ext4 new features test that have been added. > +There are total 117 testcases for ext4 new features test that have been added. > Now, these testcases can test multi-block alloc/delayed alloc, inode version > field on disk, journal checksumming, nanosec timestamps, online defrag, persist > prealloc, subdirectory limit and uninit groups of ext4. > @@ -111,11 +111,6 @@ Directory containing the shell script which is used to test subdirectory limit > of ext4. According to the kernel documentation, we create more than 32000 > subdirectorys on the ext4 filesystem. > > -But, when then block size is small, such as 1024, and the name of every > -subdirectory is very long, such as every name is 255 bytes, we can just create > -less than 20000 subdirectory. In this test suite, there is two FAIL cases by > -reason of it. > - > ext4-uninit-groups > ------------------ > Directory containing the shell script which is used to test uninitialized groups > diff --git a/testcases/kernel/fs/ext4-new-features/ext4-delalloc-mballoc/ext4-alloc-test.sh b/testcases/kernel/fs/ext4-new-features/ext4-delalloc-mballoc/ext4-alloc-test.sh > index ec2f389..be7b074 100755 > --- a/testcases/kernel/fs/ext4-new-features/ext4-delalloc-mballoc/ext4-alloc-test.sh > +++ b/testcases/kernel/fs/ext4-new-features/ext4-delalloc-mballoc/ext4-alloc-test.sh > @@ -37,14 +37,12 @@ read_config $1 > # Case 17: mount ext4 partition to ext3 > ext4_test_remount() > { > - mkfs.ext3 -I 256 -b 1024 $EXT4_DEV > /dev/null > + mkfs.ext3 -I 256 -b 1024 $EXT4_DEV &> /dev/null > if [ $? -ne 0 ]; then > tst_resm TFAIL "failed to create ext4 filesystem" > return 1 > fi > > - tune2fs -E test_fs $EXT4_DEV > - > mount -t ext4 -o delalloc,auto_da_alloc $EXT4_DEV mnt_point > if [ $? -ne 0 ]; then > tst_resm TFAIL "failed to mount ext4 filesystem" > @@ -71,7 +69,7 @@ ext4_test_remount() > fi > umount mnt_point > > - fsck -p $EXT4_DEV > + fsck -p $EXT4_DEV &> /dev/null > if [ $? -ne 0 ]; then > tst_resm TFAIL "fsck returned failure" > return 1 > @@ -87,16 +85,15 @@ ext4_test_remount() > # $4: auto_da_alloc > ext4_test_delalloc_mballoc() > { > - tst_resm TINFO "isDelalloc: $1, isDirectIO: $2, Blocksize: $3, \ > - isAuto_da_alloc: $4" > + tst_resm TINFO "isDelalloc: $1, isDirectIO: $2, Blocksize: $3, isAuto_da_alloc: $4" > > - mkfs.ext4 -I 256 -b $3 /$EXT4_DEV > /dev/null > + mkfs.ext4 -I 256 -b $3 /$EXT4_DEV &> /dev/null > if [ $? -ne 0 ]; then > tst_resm TFAIL "failed to create ext4 filesystem" > return 1 > fi > > - tune2fs -E test_fs -O extents $EXT4_DEV > + tune2fs -O extents $EXT4_DEV &> /dev/null > > mount -t ext4 -o $1,$4 $EXT4_DEV mnt_point > if [ $? -ne 0 ]; then > @@ -117,7 +114,7 @@ ext4_test_delalloc_mballoc() > return 1 > fi > > - fsck -p $EXT4_DEV > + fsck -p $EXT4_DEV &> /dev/null > if [ $? -ne 0 ]; then > tst_resm TFAIL "fsck returned failure" > return 1 > diff --git a/testcases/kernel/fs/ext4-new-features/ext4-inode-version/ext4_get_inode_version.sh b/testcases/kernel/fs/ext4-new-features/ext4-inode-version/ext4_get_inode_version.sh > index 8f5c907..0e7a8b6 100755 > --- a/testcases/kernel/fs/ext4-new-features/ext4-inode-version/ext4_get_inode_version.sh > +++ b/testcases/kernel/fs/ext4-new-features/ext4-inode-version/ext4_get_inode_version.sh > @@ -24,7 +24,7 @@ > #$2: 1 - return inode version by return value > # !1 - writting inode version to stddev > > -inode_version=`debugfs -R "stat $1" $EXT4_DEV | grep 'Version' | awk '{ > +inode_version=`debugfs -R "stat $1" $EXT4_DEV 2> /dev/null | grep 'Version' | awk '{ > print $NF }'` > > # The inode_version's format: '0x0000000a' or '0x00000000:0000000a', > diff --git a/testcases/kernel/fs/ext4-new-features/ext4-inode-version/ext4_inode_version_test.sh b/testcases/kernel/fs/ext4-new-features/ext4-inode-version/ext4_inode_version_test.sh > index f27248b..4a58b36 100755 > --- a/testcases/kernel/fs/ext4-new-features/ext4-inode-version/ext4_inode_version_test.sh > +++ b/testcases/kernel/fs/ext4-new-features/ext4-inode-version/ext4_inode_version_test.sh > @@ -41,13 +41,13 @@ ext4_test_128_inode_version() > { > tst_resm TINFO "Test inode version is 32 bits with 128 inode size" > > - mkfs.ext4 -I 128 $EXT4_DEV > /dev/null > + mkfs.ext4 -I 128 $EXT4_DEV &> /dev/null > if [ $? -ne 0 ]; then > tst_resm TFAIL "failed to create ext4 filesystem" > return 1 > fi > > - tune2fs -E test_fs -O extents $EXT4_DEV > + tune2fs -O extents $EXT4_DEV &> /dev/null > > mount -t ext4 -o i_version $EXT4_DEV mnt_point > if [ $? -ne 0 ]; then > @@ -67,7 +67,7 @@ ext4_test_128_inode_version() > fi > > # inode version is 32 bits: 0x00000000 > - version=`debugfs $EXT4_DEV -R "stat tmp_file" | grep 'Version'` > + version=`debugfs $EXT4_DEV -R "stat tmp_file" 2> /dev/null | grep 'Version'` > version=`echo $version | awk '{ print $NF }'` > version=`echo $version | sed 's/^0x//'` > len=${#version} > @@ -91,14 +91,12 @@ ext4_test_128_inode_version() > # $1: file operation > test_inode_version() > { > - mkfs.ext3 -I 256 $EXT4_DEV > /dev/null > + mkfs.ext3 -I 256 $EXT4_DEV &> /dev/null > if [ $? -ne 0 ]; then > tst_resm TFAIL "failed to create ext4 filesystem" > return 1 > fi > > - tune2fs -E test_fs $EXT4_DEV > /dev/null > - > mount -t ext4 -o i_version $EXT4_DEV mnt_point > if [ $? -ne 0 ]; then > tst_resm TFAIL "failed to mount ext4 filesystem" > diff --git a/testcases/kernel/fs/ext4-new-features/ext4-journal-checksum/ext4_journal_checksum.sh b/testcases/kernel/fs/ext4-new-features/ext4-journal-checksum/ext4_journal_checksum.sh > index 550afa1..eb72b5d 100755 > --- a/testcases/kernel/fs/ext4-new-features/ext4-journal-checksum/ext4_journal_checksum.sh > +++ b/testcases/kernel/fs/ext4-new-features/ext4-journal-checksum/ext4_journal_checksum.sh > @@ -59,17 +59,17 @@ ext4_test_journal_checksum() > async_commit="Used" > fi > > - tst_resm TINFO "journal mode: $1, commit interval: $2, \ > - journal_checksum: $checksum, \ > - journal_async_commit: $async_commit, barrier: $5" > + tst_resm TINFO "journal mode: $1, commit interval: $2, " \ > + "journal_checksum: $checksum, " \ > + "journal_async_commit: $async_commit, barrier: $5" > > - mkfs.ext4 -I 256 $EXT4_DEV > /dev/null > + mkfs.ext4 -I 256 $EXT4_DEV &> /dev/null > if [ $? -ne 0 ]; then > tst_resm TFAIL "failed to create ext4 filesystem" > return 1 > fi > > - tune2fs -E test_fs -O extents $EXT4_DEV > + tune2fs -O extents $EXT4_DEV &> /dev/null > > mount -t ext4 -o data=$1,commit=$2,$3,$4,barrier=$5 $EXT4_DEV mnt_point > if [ $? -ne 0 ]; then > @@ -90,7 +90,7 @@ ext4_test_journal_checksum() > return 1 > fi > > - e2fsck -p $EXT4_DEV > + e2fsck -p $EXT4_DEV &> /dev/null > if [ $? -ne 0 ]; then > tst_resm TFAIL "fsck returned failure" > return 1 > diff --git a/testcases/kernel/fs/ext4-new-features/ext4-nsec-timestamps/ext4_nsec_timestamps_test.sh b/testcases/kernel/fs/ext4-new-features/ext4-nsec-timestamps/ext4_nsec_timestamps_test.sh > index ced6576..cc00507 100755 > --- a/testcases/kernel/fs/ext4-new-features/ext4-nsec-timestamps/ext4_nsec_timestamps_test.sh > +++ b/testcases/kernel/fs/ext4-new-features/ext4-nsec-timestamps/ext4_nsec_timestamps_test.sh > @@ -41,13 +41,13 @@ ext4_test_sec_timestamps() > { > tst_resm TINFO "Test timestamps with 128 inode size" > > - mkfs.ext4 -I 128 $EXT4_DEV > /dev/null > + mkfs.ext4 -I 128 $EXT4_DEV &> /dev/null > if [ $? -ne 0 ]; then > tst_resm TFAIL "failed to create ext4 filesystem" > return 1 > fi > > - tune2fs -E test_fs -O extents $EXT4_DEV > + tune2fs -O extents $EXT4_DEV &> /dev/null > > mount -t ext4 $EXT4_DEV mnt_point > if [ $? -ne 0 ]; then > @@ -82,14 +82,12 @@ ext4_test_nsec_timestamps() > { > tst_resm TINFO "Test timestamps with 256 inode size" > > - mkfs.ext3 -I 256 $EXT4_DEV > /dev/null > + mkfs.ext3 -I 256 $EXT4_DEV &> /dev/null > if [ $? -ne 0 ]; then > tst_resm TFAIL "failed to create ext4 filesystem" > return 1 > fi > > - tune2fs -E test_fs $EXT4_DEV > - > mount -t ext4 $EXT4_DEV mnt_point > if [ $? -ne 0 ]; then > tst_resm TFAIL "failed to mount ext4 filesystem" > diff --git a/testcases/kernel/fs/ext4-new-features/ext4-online-defrag/ext4_online_defrag_test.sh b/testcases/kernel/fs/ext4-new-features/ext4-online-defrag/ext4_online_defrag_test.sh > index 84613c8..7b4dda3 100755 > --- a/testcases/kernel/fs/ext4-new-features/ext4-online-defrag/ext4_online_defrag_test.sh > +++ b/testcases/kernel/fs/ext4-new-features/ext4-online-defrag/ext4_online_defrag_test.sh > @@ -94,23 +94,23 @@ my_e4defrag() > { > if [ $1 -eq $FILE ]; then > if [ $2 -eq $SMALL ]; then > - ./e4defrag mnt_point/data0/ > + ./e4defrag -v mnt_point/data0/ > return $? > # EMPTY or LARGE > else > - ./e4defrag mnt_point/tmp_file > + ./e4defrag -v mnt_point/tmp_file > return $? > fi > elif [ $1 -eq $DIR ]; then > if [ $2 -eq $SMALL ]; then > - ./e4defrag mnt_point/data0/ > + ./e4defrag -v mnt_point/data0/ > return $? > else > - ./e4defrag mnt_point/tmp_dir > + ./e4defrag -v mnt_point/tmp_dir > return $? > fi > else > - ./e4defrag $EXT4_DEV > + ./e4defrag -v $EXT4_DEV > return $? > fi > } > @@ -121,15 +121,20 @@ my_e4defrag() > # $3: block size > ext4_test_online_defrag() > { > + echo Test $TST_COUNT start >> \ > + $LTPROOT/output/ext4_online_defrag_result.txt > + > tst_resm TINFO "defrag type: $1, defrag obj: $2, block size: $3" > > - mkfs.ext4 -m 0 -b $3 -O ^flex_bg $EXT4_DEV > /dev/null > + mkfs.ext4 -m 0 -b $3 -O ^flex_bg $EXT4_DEV >> \ > + $LTPROOT/output/ext4_online_defrag_result.txt 2>&1 > if [ $? -ne 0 ]; then > tst_resm TFAIL "failed to create ext4 filesystem" > return 1 > fi > > - tune2fs -E test_fs -O extents $EXT4_DEV > + tune2fs -O extents $EXT4_DEV >> \ > + $LTPROOT/output/ext4_online_defrag_result.txt 2>&1 > > mount -t ext4 -o nodelalloc $EXT4_DEV mnt_point > if [ $? -ne 0 ]; then > @@ -137,7 +142,7 @@ ext4_test_online_defrag() > return 1 > fi > > - age_filesystem $2 $1 > + age_filesystem $2 $1 >> $LTPROOT/output/ext4_online_defrag_result.txt 2>&1 > > my_e4defrag $1 $2 >> $LTPROOT/output/ext4_online_defrag_result.txt > if [ $? -ne 0 ]; then > @@ -152,18 +157,21 @@ ext4_test_online_defrag() > return 1 > fi > > - e2fsck -p $EXT4_DEV > + e2fsck -p $EXT4_DEV >> \ > + $LTPROOT/output/ext4_online_defrag_result.txt 2>&1 > if [ $? -ne 0 ]; then > tst_resm TFAIL "fsck returned failure" > return 1 > fi > > - tst_resm TPASS "ext4 online defrag test pass(defrag type: $1, Aging: $2, block size: $3)" > + tst_resm TPASS "ext4 online defrag test pass" > } > > # main > ext4_setup > > +rm -f $LTPROOT/output/ext4_online_defrag_result.txt > + > DEFRAG=( $FILE $DIR $FILESYSTEM ) > AGING=( $EMPTY $SMALL $LARGE ) > BLOCK_SIZE=( 1024 4096 ) > diff --git a/testcases/kernel/fs/ext4-new-features/ext4-persist-prealloc/ext4_persist_prealloc_test.sh b/testcases/kernel/fs/ext4-new-features/ext4-persist-prealloc/ext4_persist_prealloc_test.sh > index 0d293e8..e895d25 100755 > --- a/testcases/kernel/fs/ext4-new-features/ext4-persist-prealloc/ext4_persist_prealloc_test.sh > +++ b/testcases/kernel/fs/ext4-new-features/ext4-persist-prealloc/ext4_persist_prealloc_test.sh > @@ -43,7 +43,7 @@ export TDIRECTORY=$PWD/mnt_point/ > # $1: 1024 or 4096 > ext4_test_persist_prealloc() > { > - mkfs.ext4 -I 256 -b $1 $EXT4_DEV > /dev/null > + mkfs.ext4 -I 256 -b $1 $EXT4_DEV &> /dev/null > if [ $? -ne 0 ]; then > tst_resm TFAIL "failed to create ext4 filesystem" > return 1 > @@ -81,7 +81,7 @@ ext4_test_persist_prealloc() > return 1 > fi > > - e2fsck -p $EXT4_DEV > + e2fsck -p $EXT4_DEV &> /dev/null > if [ $? -ne 0 ]; then > tst_resm TFAIL "fsck returned failure" > return 1 > diff --git a/testcases/kernel/fs/ext4-new-features/ext4-subdir-limit/ext4_subdir_limit_test.sh b/testcases/kernel/fs/ext4-new-features/ext4-subdir-limit/ext4_subdir_limit_test.sh > index 42c4336..5631fe5 100755 > --- a/testcases/kernel/fs/ext4-new-features/ext4-subdir-limit/ext4_subdir_limit_test.sh > +++ b/testcases/kernel/fs/ext4-new-features/ext4-subdir-limit/ext4_subdir_limit_test.sh > @@ -28,7 +28,7 @@ cd $LTPROOT/testcases/bin > . ./ext4_funcs.sh > > export TCID="ext4-subdir-limit" > -export TST_TOTAL=12 > +export TST_TOTAL=10 > export TST_COUNT=1 > > # $1: the test config > @@ -59,20 +59,20 @@ ext4_run_case() > dir_name_len="long name" > fi > > - tst_resm TINFO "Num of dirs to create: $1, Dir name len: $dir_name_len \ > - Parent dir: $3, Block size: $4" > + tst_resm TINFO "Num of dirs to create: $1, Dir name len: $dir_name_len, " \ > + "Parent dir: $3, Block size: $4" > > # only mkfs if block size has been changed, > # or previous case failed > if [ $prev_result -ne $PASS -o $4 -ne $prev_block_size ]; then > - mkfs.ext4 -b $4 -I 256 $EXT4_DEV > /dev/null > + mkfs.ext4 -b $4 -I 256 $EXT4_DEV &> /dev/null > if [ $? -ne 0 ]; then > tst_resm TFAIL "failed to create ext4 filesystem" > return 1 > fi > prev_block_size=$4 > > - tune2fs -E test_fs -O extents $EXT4_DEV > + tune2fs -O extents $EXT4_DEV &> /dev/null > fi > > prev_result=$FAIL > @@ -120,14 +120,14 @@ ext4_run_case() > fi > > # run fsck to make sure the filesystem has no errors > - e2fsck -p $EXT4_DEV > + e2fsck -p $EXT4_DEV &> /dev/null > if [ $? -ne 0 ]; then > tst_resm TFAIL "fsck: the filesystem has errors" > return 1 > fi > > # check dir_nlink is set > - dumpe2fs $EXT4_DEV | grep '^Filesystem features' | grep -q dir_nlink > + dumpe2fs $EXT4_DEV 2> /dev/null | grep '^Filesystem features' | grep -q dir_nlink > if [ $? -ne 0 ]; then > tst_resm TFAIL "feature dir_nlink is not set" > return 1 > @@ -152,6 +152,9 @@ for ((i = 0; i < 3; i++)) > { > for ((k = 0; k < 2; k++)) > { > + if [ $i -eq $LONG_DIR -a $k -eq 1024 ]; then > + continue > + fi > ext4_run_case 65537 ${DIR_LEN[$k]} ${PARENT_DIR[$j]} \ > ${BLOCK_SIZE[$i]} > if [ $? -ne 0 ]; then > diff --git a/testcases/kernel/fs/ext4-new-features/ext4-uninit-groups/ext4_uninit_groups_test.sh b/testcases/kernel/fs/ext4-new-features/ext4-uninit-groups/ext4_uninit_groups_test.sh > index 27cbb5f..b479c8f 100755 > --- a/testcases/kernel/fs/ext4-new-features/ext4-uninit-groups/ext4_uninit_groups_test.sh > +++ b/testcases/kernel/fs/ext4-new-features/ext4-uninit-groups/ext4_uninit_groups_test.sh > @@ -40,8 +40,8 @@ LARGE=3 > # filesystem free size in bytes: blocks_size * free_blocks > filesystem_free_size() > { > - bsize=`dumpe2fs -h $EXT4_DEV | grep 'Block size' | awk '{ print $2 }'` > - blocks=`dumpe2fs -h $EXT4_DEV | grep 'Free blocks'| awk '{ print $2 }'` > + bsize=`dumpe2fs -h $EXT4_DEV 2> /dev/null | grep 'Block size' | awk '{ print $2 }'` > + blocks=`dumpe2fs -h $EXT4_DEV 2> /dev/null | grep 'Free blocks'| awk '{ print $2 }'` > > echo $bsize * $blocks > } > @@ -61,9 +61,9 @@ age_filesystem() > } > elif [ $1 -eq $LARGE ]; then > rm -rf mnt_point/* > - bsize=`dumpe2fs -h $EXT4_DEV | grep 'Block size'` > + bsize=`dumpe2fs -h $EXT4_DEV 2> /dev/null | grep 'Block size'` > bsize=`echo $bsize | awk '{ print $3 }'` > - bcount=`dumpe2fs -h $EXT4_DEV | grep 'Free blocks'` > + bcount=`dumpe2fs -h $EXT4_DEV 2> /dev/null | grep 'Free blocks'` > bcount=`echo $bcount | awk '{ print $3 }'` > dd if=/dev/zero of=mnt_point/tmp_dir bs=$bsize count=$bcount > else > @@ -80,7 +80,9 @@ age_filesystem() > # $4: age filesystem: $EMPTY, $SMALL, $LARGE > ext4_test_uninit_groups() > { > - mkfs.ext4 -I 256 -m 0 $EXT4_DEV > /dev/null > + echo "Test $TST_COUNT" >> $LTPROOT/output/ext4_uninit_groups_result.txt > + > + mkfs.ext4 -I 256 -m 0 $EXT4_DEV &> /dev/null > if [ $? -ne 0 ]; then > tst_resm TFAIL "failed to create ext4 filesystem" > return 1 > @@ -92,10 +94,10 @@ ext4_test_uninit_groups() > flag=$3 > fi > > - tune2fs -E test_fs -O extents,uninit_groups,$flag $EXT4_DEV > + tune2fs -O extents,uninit_groups,$flag $EXT4_DEV &> /dev/null > > # Must run fsck after setting uninit_groups > - fsck -p $EXT4_DEV > /dev/null > + fsck -p $EXT4_DEV &> /dev/null > > mount -t ext4 -o $1,$2 $EXT4_DEV mnt_point > if [ $? -ne 0 ]; then > @@ -103,7 +105,7 @@ ext4_test_uninit_groups() > return 1 > fi > > - age_filesystem $4 > + age_filesystem $4 >> $LTPROOT/output/ext4_uninit_groups_result.txt 2>&1 > if [ $? -ne 0 ]; then > tst_resm TFAIL "age filesystem failed" > umount mnt_point > @@ -116,7 +118,7 @@ ext4_test_uninit_groups() > return 1 > fi > > - fsck -p $EXT4_DEV > + fsck -p $EXT4_DEV &> /dev/null > if [ $? -ne 0 ]; then > tst_resm TFAIL "fsck returned failure" > return 1 > @@ -135,6 +137,8 @@ AGING=( $EMPTY $SMALL $LARGE ) > > RET=0 > > +rm -f $LTPROOT/output/ext4_uninit_groups_result.txt > + > for ((i = 0; i < 2; i++)) > { > for ((j = 0; j < 2; j++)) |
From: Miao X. <mi...@cn...> - 2009-12-08 05:55:18
|
Hi, Subrata on 2009-12-7 19:53, Subrata Modak wrote: >>>>>>>>> /dev/VG1_EXT4/LV1_EXT4: The test_fs flag is set (and ext4 is >>>>>>>>> available). >>>>>>>>> CLEARED. >>>>>>>> You don't need to set the test_fs flag for modern ext4. >>>>>>> Can we change this ? >>>> The attached patch can fix this problem. >>> I had already checked in your earlier patch long back. So, you would >>> please need to resend over the latest code. >> I'm sorry that I didn't bring the new patch(was sent on 2009-11-30) to your attention, >> so I resend that new patch now. I have tried to apply the patch to the latest code >> in the cvs repository and everything is ok. >> >> Subrata, I didn't find these failure about online defrag on my box. >> The attached patch opens the verbose mode of e4defrag to get more information later, it is >> useful to find the problem of online defrag. So, Could you test it again and send the output >> info to me? >> >> The following is changelog. >> ========================= >> This patch can fix the following problem: >> -- delete the code of setting the test_fs flag >> -- open the verbose mode of e4defrag, it is useful to find the problem of online defrag >> -- fix some bug of the Makefile >> -- throw the utilities version info away >> -- delete two unnecessary testcases about ext4 subdir limit test >> >> Signed-off-by: Miao Xie <mi...@cn...> > > I still find some issues: I'm so sorry for my mistake and resend the patch. The following is changelog. ========================= This patch can fix the following problem: -- delete the code of setting the test_fs flag -- open the verbose mode of e4defrag, it is useful to find the problem of online defrag -- fix some bug of the Makefile -- throw the utilities version info away -- delete two unnecessary testcases about ext4 subdir limit test Signed-off-by: Miao Xie <mi...@cn...> --- testcases/kernel/fs/ext4-new-features/Makefile | 20 ++++++++++---- testcases/kernel/fs/ext4-new-features/README | 7 +---- .../ext4-delalloc-mballoc/ext4-alloc-test.sh | 15 ++++------ .../ext4-inode-version/ext4_get_inode_version.sh | 2 +- .../ext4-inode-version/ext4_inode_version_test.sh | 10 +++---- .../ext4-journal-checksum/ext4_journal_checksum.sh | 12 ++++---- .../ext4_nsec_timestamps_test.sh | 8 ++--- .../ext4-online-defrag/ext4_online_defrag_test.sh | 28 ++++++++++++------- .../ext4_persist_prealloc_test.sh | 4 +- .../ext4-subdir-limit/ext4_subdir_limit_test.sh | 17 +++++++----- .../ext4-uninit-groups/ext4_uninit_groups_test.sh | 22 +++++++++------ 11 files changed, 78 insertions(+), 67 deletions(-) diff --git a/testcases/kernel/fs/ext4-new-features/Makefile b/testcases/kernel/fs/ext4-new-features/Makefile index 0e09dd6..208b8a6 100644 --- a/testcases/kernel/fs/ext4-new-features/Makefile +++ b/testcases/kernel/fs/ext4-new-features/Makefile @@ -22,17 +22,25 @@ top_srcdir ?= ../../../.. include $(top_srcdir)/include/mk/env_pre.mk -INSTALL_TARGETS := *.sh -INSTALL_TARGETS := ext4-test-config -INSTALL_TARGETS := ffsb-6.0-rc2/ffsb +INSTALL_TARGETS += ffsb +INSTALL_TARGETS += run_ext4_test.sh +INSTALL_TARGETS += ext4_funcs.sh +INSTALL_TARGETS += ext4-test-config -FILTER_OUT_DIRS := ffsb-6.0-rc2 +FFSBDIR := ffsb-6.0-rc2 +FILTER_OUT_DIRS := $(FFSBDIR) +FFSB := $(FFSBDIR)/ffsb -trunk-all: ffsb-6.0-rc2 +$(FFSB): $(FFSBDIR) + $(MAKE) -C $^ -f "$(abs_srcdir)/$^/Makefile" all + cp $(FFSBDIR)/ffsb ffsb + +trunk-all: $(FFSB) trunk-clean:: | ffsb-clean -ffsb-clean:: ffsb-6.0-rc2 +ffsb-clean:: $(FFSBDIR) $(MAKE) -C $^ -f "$(abs_srcdir)/$^/Makefile" clean + rm -rf ffsb include $(top_srcdir)/include/mk/generic_trunk_target.mk diff --git a/testcases/kernel/fs/ext4-new-features/README b/testcases/kernel/fs/ext4-new-features/README index 0ea0460..bda16e5 100644 --- a/testcases/kernel/fs/ext4-new-features/README +++ b/testcases/kernel/fs/ext4-new-features/README @@ -9,7 +9,7 @@ with increasing disk capacities and state-of-the-art feature requirements. More extensive information of ext4 can be found at the ext4 wiki site at the URL: http://ext4.wiki.kernel.org -There are total 119 testcases for ext4 new features test that have been added. +There are total 117 testcases for ext4 new features test that have been added. Now, these testcases can test multi-block alloc/delayed alloc, inode version field on disk, journal checksumming, nanosec timestamps, online defrag, persist prealloc, subdirectory limit and uninit groups of ext4. @@ -111,11 +111,6 @@ Directory containing the shell script which is used to test subdirectory limit of ext4. According to the kernel documentation, we create more than 32000 subdirectorys on the ext4 filesystem. -But, when then block size is small, such as 1024, and the name of every -subdirectory is very long, such as every name is 255 bytes, we can just create -less than 20000 subdirectory. In this test suite, there is two FAIL cases by -reason of it. - ext4-uninit-groups ------------------ Directory containing the shell script which is used to test uninitialized groups diff --git a/testcases/kernel/fs/ext4-new-features/ext4-delalloc-mballoc/ext4-alloc-test.sh b/testcases/kernel/fs/ext4-new-features/ext4-delalloc-mballoc/ext4-alloc-test.sh index ec2f389..be7b074 100755 --- a/testcases/kernel/fs/ext4-new-features/ext4-delalloc-mballoc/ext4-alloc-test.sh +++ b/testcases/kernel/fs/ext4-new-features/ext4-delalloc-mballoc/ext4-alloc-test.sh @@ -37,14 +37,12 @@ read_config $1 # Case 17: mount ext4 partition to ext3 ext4_test_remount() { - mkfs.ext3 -I 256 -b 1024 $EXT4_DEV > /dev/null + mkfs.ext3 -I 256 -b 1024 $EXT4_DEV &> /dev/null if [ $? -ne 0 ]; then tst_resm TFAIL "failed to create ext4 filesystem" return 1 fi - tune2fs -E test_fs $EXT4_DEV - mount -t ext4 -o delalloc,auto_da_alloc $EXT4_DEV mnt_point if [ $? -ne 0 ]; then tst_resm TFAIL "failed to mount ext4 filesystem" @@ -71,7 +69,7 @@ ext4_test_remount() fi umount mnt_point - fsck -p $EXT4_DEV + fsck -p $EXT4_DEV &> /dev/null if [ $? -ne 0 ]; then tst_resm TFAIL "fsck returned failure" return 1 @@ -87,16 +85,15 @@ ext4_test_remount() # $4: auto_da_alloc ext4_test_delalloc_mballoc() { - tst_resm TINFO "isDelalloc: $1, isDirectIO: $2, Blocksize: $3, \ - isAuto_da_alloc: $4" + tst_resm TINFO "isDelalloc: $1, isDirectIO: $2, Blocksize: $3, isAuto_da_alloc: $4" - mkfs.ext4 -I 256 -b $3 /$EXT4_DEV > /dev/null + mkfs.ext4 -I 256 -b $3 /$EXT4_DEV &> /dev/null if [ $? -ne 0 ]; then tst_resm TFAIL "failed to create ext4 filesystem" return 1 fi - tune2fs -E test_fs -O extents $EXT4_DEV + tune2fs -O extents $EXT4_DEV &> /dev/null mount -t ext4 -o $1,$4 $EXT4_DEV mnt_point if [ $? -ne 0 ]; then @@ -117,7 +114,7 @@ ext4_test_delalloc_mballoc() return 1 fi - fsck -p $EXT4_DEV + fsck -p $EXT4_DEV &> /dev/null if [ $? -ne 0 ]; then tst_resm TFAIL "fsck returned failure" return 1 diff --git a/testcases/kernel/fs/ext4-new-features/ext4-inode-version/ext4_get_inode_version.sh b/testcases/kernel/fs/ext4-new-features/ext4-inode-version/ext4_get_inode_version.sh index 8f5c907..0e7a8b6 100755 --- a/testcases/kernel/fs/ext4-new-features/ext4-inode-version/ext4_get_inode_version.sh +++ b/testcases/kernel/fs/ext4-new-features/ext4-inode-version/ext4_get_inode_version.sh @@ -24,7 +24,7 @@ #$2: 1 - return inode version by return value # !1 - writting inode version to stddev -inode_version=`debugfs -R "stat $1" $EXT4_DEV | grep 'Version' | awk '{ +inode_version=`debugfs -R "stat $1" $EXT4_DEV 2> /dev/null | grep 'Version' | awk '{ print $NF }'` # The inode_version's format: '0x0000000a' or '0x00000000:0000000a', diff --git a/testcases/kernel/fs/ext4-new-features/ext4-inode-version/ext4_inode_version_test.sh b/testcases/kernel/fs/ext4-new-features/ext4-inode-version/ext4_inode_version_test.sh index f27248b..4a58b36 100755 --- a/testcases/kernel/fs/ext4-new-features/ext4-inode-version/ext4_inode_version_test.sh +++ b/testcases/kernel/fs/ext4-new-features/ext4-inode-version/ext4_inode_version_test.sh @@ -41,13 +41,13 @@ ext4_test_128_inode_version() { tst_resm TINFO "Test inode version is 32 bits with 128 inode size" - mkfs.ext4 -I 128 $EXT4_DEV > /dev/null + mkfs.ext4 -I 128 $EXT4_DEV &> /dev/null if [ $? -ne 0 ]; then tst_resm TFAIL "failed to create ext4 filesystem" return 1 fi - tune2fs -E test_fs -O extents $EXT4_DEV + tune2fs -O extents $EXT4_DEV &> /dev/null mount -t ext4 -o i_version $EXT4_DEV mnt_point if [ $? -ne 0 ]; then @@ -67,7 +67,7 @@ ext4_test_128_inode_version() fi # inode version is 32 bits: 0x00000000 - version=`debugfs $EXT4_DEV -R "stat tmp_file" | grep 'Version'` + version=`debugfs $EXT4_DEV -R "stat tmp_file" 2> /dev/null | grep 'Version'` version=`echo $version | awk '{ print $NF }'` version=`echo $version | sed 's/^0x//'` len=${#version} @@ -91,14 +91,12 @@ ext4_test_128_inode_version() # $1: file operation test_inode_version() { - mkfs.ext3 -I 256 $EXT4_DEV > /dev/null + mkfs.ext3 -I 256 $EXT4_DEV &> /dev/null if [ $? -ne 0 ]; then tst_resm TFAIL "failed to create ext4 filesystem" return 1 fi - tune2fs -E test_fs $EXT4_DEV > /dev/null - mount -t ext4 -o i_version $EXT4_DEV mnt_point if [ $? -ne 0 ]; then tst_resm TFAIL "failed to mount ext4 filesystem" diff --git a/testcases/kernel/fs/ext4-new-features/ext4-journal-checksum/ext4_journal_checksum.sh b/testcases/kernel/fs/ext4-new-features/ext4-journal-checksum/ext4_journal_checksum.sh index 550afa1..eb72b5d 100755 --- a/testcases/kernel/fs/ext4-new-features/ext4-journal-checksum/ext4_journal_checksum.sh +++ b/testcases/kernel/fs/ext4-new-features/ext4-journal-checksum/ext4_journal_checksum.sh @@ -59,17 +59,17 @@ ext4_test_journal_checksum() async_commit="Used" fi - tst_resm TINFO "journal mode: $1, commit interval: $2, \ - journal_checksum: $checksum, \ - journal_async_commit: $async_commit, barrier: $5" + tst_resm TINFO "journal mode: $1, commit interval: $2, " \ + "journal_checksum: $checksum, " \ + "journal_async_commit: $async_commit, barrier: $5" - mkfs.ext4 -I 256 $EXT4_DEV > /dev/null + mkfs.ext4 -I 256 $EXT4_DEV &> /dev/null if [ $? -ne 0 ]; then tst_resm TFAIL "failed to create ext4 filesystem" return 1 fi - tune2fs -E test_fs -O extents $EXT4_DEV + tune2fs -O extents $EXT4_DEV &> /dev/null mount -t ext4 -o data=$1,commit=$2,$3,$4,barrier=$5 $EXT4_DEV mnt_point if [ $? -ne 0 ]; then @@ -90,7 +90,7 @@ ext4_test_journal_checksum() return 1 fi - e2fsck -p $EXT4_DEV + e2fsck -p $EXT4_DEV &> /dev/null if [ $? -ne 0 ]; then tst_resm TFAIL "fsck returned failure" return 1 diff --git a/testcases/kernel/fs/ext4-new-features/ext4-nsec-timestamps/ext4_nsec_timestamps_test.sh b/testcases/kernel/fs/ext4-new-features/ext4-nsec-timestamps/ext4_nsec_timestamps_test.sh index ced6576..cc00507 100755 --- a/testcases/kernel/fs/ext4-new-features/ext4-nsec-timestamps/ext4_nsec_timestamps_test.sh +++ b/testcases/kernel/fs/ext4-new-features/ext4-nsec-timestamps/ext4_nsec_timestamps_test.sh @@ -41,13 +41,13 @@ ext4_test_sec_timestamps() { tst_resm TINFO "Test timestamps with 128 inode size" - mkfs.ext4 -I 128 $EXT4_DEV > /dev/null + mkfs.ext4 -I 128 $EXT4_DEV &> /dev/null if [ $? -ne 0 ]; then tst_resm TFAIL "failed to create ext4 filesystem" return 1 fi - tune2fs -E test_fs -O extents $EXT4_DEV + tune2fs -O extents $EXT4_DEV &> /dev/null mount -t ext4 $EXT4_DEV mnt_point if [ $? -ne 0 ]; then @@ -82,14 +82,12 @@ ext4_test_nsec_timestamps() { tst_resm TINFO "Test timestamps with 256 inode size" - mkfs.ext3 -I 256 $EXT4_DEV > /dev/null + mkfs.ext3 -I 256 $EXT4_DEV &> /dev/null if [ $? -ne 0 ]; then tst_resm TFAIL "failed to create ext4 filesystem" return 1 fi - tune2fs -E test_fs $EXT4_DEV - mount -t ext4 $EXT4_DEV mnt_point if [ $? -ne 0 ]; then tst_resm TFAIL "failed to mount ext4 filesystem" diff --git a/testcases/kernel/fs/ext4-new-features/ext4-online-defrag/ext4_online_defrag_test.sh b/testcases/kernel/fs/ext4-new-features/ext4-online-defrag/ext4_online_defrag_test.sh index 84613c8..7b4dda3 100755 --- a/testcases/kernel/fs/ext4-new-features/ext4-online-defrag/ext4_online_defrag_test.sh +++ b/testcases/kernel/fs/ext4-new-features/ext4-online-defrag/ext4_online_defrag_test.sh @@ -94,23 +94,23 @@ my_e4defrag() { if [ $1 -eq $FILE ]; then if [ $2 -eq $SMALL ]; then - ./e4defrag mnt_point/data0/ + ./e4defrag -v mnt_point/data0/ return $? # EMPTY or LARGE else - ./e4defrag mnt_point/tmp_file + ./e4defrag -v mnt_point/tmp_file return $? fi elif [ $1 -eq $DIR ]; then if [ $2 -eq $SMALL ]; then - ./e4defrag mnt_point/data0/ + ./e4defrag -v mnt_point/data0/ return $? else - ./e4defrag mnt_point/tmp_dir + ./e4defrag -v mnt_point/tmp_dir return $? fi else - ./e4defrag $EXT4_DEV + ./e4defrag -v $EXT4_DEV return $? fi } @@ -121,15 +121,20 @@ my_e4defrag() # $3: block size ext4_test_online_defrag() { + echo Test $TST_COUNT start >> \ + $LTPROOT/output/ext4_online_defrag_result.txt + tst_resm TINFO "defrag type: $1, defrag obj: $2, block size: $3" - mkfs.ext4 -m 0 -b $3 -O ^flex_bg $EXT4_DEV > /dev/null + mkfs.ext4 -m 0 -b $3 -O ^flex_bg $EXT4_DEV >> \ + $LTPROOT/output/ext4_online_defrag_result.txt 2>&1 if [ $? -ne 0 ]; then tst_resm TFAIL "failed to create ext4 filesystem" return 1 fi - tune2fs -E test_fs -O extents $EXT4_DEV + tune2fs -O extents $EXT4_DEV >> \ + $LTPROOT/output/ext4_online_defrag_result.txt 2>&1 mount -t ext4 -o nodelalloc $EXT4_DEV mnt_point if [ $? -ne 0 ]; then @@ -137,7 +142,7 @@ ext4_test_online_defrag() return 1 fi - age_filesystem $2 $1 + age_filesystem $2 $1 >> $LTPROOT/output/ext4_online_defrag_result.txt 2>&1 my_e4defrag $1 $2 >> $LTPROOT/output/ext4_online_defrag_result.txt if [ $? -ne 0 ]; then @@ -152,18 +157,21 @@ ext4_test_online_defrag() return 1 fi - e2fsck -p $EXT4_DEV + e2fsck -p $EXT4_DEV >> \ + $LTPROOT/output/ext4_online_defrag_result.txt 2>&1 if [ $? -ne 0 ]; then tst_resm TFAIL "fsck returned failure" return 1 fi - tst_resm TPASS "ext4 online defrag test pass(defrag type: $1, Aging: $2, block size: $3)" + tst_resm TPASS "ext4 online defrag test pass" } # main ext4_setup +rm -f $LTPROOT/output/ext4_online_defrag_result.txt + DEFRAG=( $FILE $DIR $FILESYSTEM ) AGING=( $EMPTY $SMALL $LARGE ) BLOCK_SIZE=( 1024 4096 ) diff --git a/testcases/kernel/fs/ext4-new-features/ext4-persist-prealloc/ext4_persist_prealloc_test.sh b/testcases/kernel/fs/ext4-new-features/ext4-persist-prealloc/ext4_persist_prealloc_test.sh index 0d293e8..e895d25 100755 --- a/testcases/kernel/fs/ext4-new-features/ext4-persist-prealloc/ext4_persist_prealloc_test.sh +++ b/testcases/kernel/fs/ext4-new-features/ext4-persist-prealloc/ext4_persist_prealloc_test.sh @@ -43,7 +43,7 @@ export TDIRECTORY=$PWD/mnt_point/ # $1: 1024 or 4096 ext4_test_persist_prealloc() { - mkfs.ext4 -I 256 -b $1 $EXT4_DEV > /dev/null + mkfs.ext4 -I 256 -b $1 $EXT4_DEV &> /dev/null if [ $? -ne 0 ]; then tst_resm TFAIL "failed to create ext4 filesystem" return 1 @@ -81,7 +81,7 @@ ext4_test_persist_prealloc() return 1 fi - e2fsck -p $EXT4_DEV + e2fsck -p $EXT4_DEV &> /dev/null if [ $? -ne 0 ]; then tst_resm TFAIL "fsck returned failure" return 1 diff --git a/testcases/kernel/fs/ext4-new-features/ext4-subdir-limit/ext4_subdir_limit_test.sh b/testcases/kernel/fs/ext4-new-features/ext4-subdir-limit/ext4_subdir_limit_test.sh index 42c4336..5631fe5 100755 --- a/testcases/kernel/fs/ext4-new-features/ext4-subdir-limit/ext4_subdir_limit_test.sh +++ b/testcases/kernel/fs/ext4-new-features/ext4-subdir-limit/ext4_subdir_limit_test.sh @@ -28,7 +28,7 @@ cd $LTPROOT/testcases/bin . ./ext4_funcs.sh export TCID="ext4-subdir-limit" -export TST_TOTAL=12 +export TST_TOTAL=10 export TST_COUNT=1 # $1: the test config @@ -59,20 +59,20 @@ ext4_run_case() dir_name_len="long name" fi - tst_resm TINFO "Num of dirs to create: $1, Dir name len: $dir_name_len \ - Parent dir: $3, Block size: $4" + tst_resm TINFO "Num of dirs to create: $1, Dir name len: $dir_name_len, " \ + "Parent dir: $3, Block size: $4" # only mkfs if block size has been changed, # or previous case failed if [ $prev_result -ne $PASS -o $4 -ne $prev_block_size ]; then - mkfs.ext4 -b $4 -I 256 $EXT4_DEV > /dev/null + mkfs.ext4 -b $4 -I 256 $EXT4_DEV &> /dev/null if [ $? -ne 0 ]; then tst_resm TFAIL "failed to create ext4 filesystem" return 1 fi prev_block_size=$4 - tune2fs -E test_fs -O extents $EXT4_DEV + tune2fs -O extents $EXT4_DEV &> /dev/null fi prev_result=$FAIL @@ -120,14 +120,14 @@ ext4_run_case() fi # run fsck to make sure the filesystem has no errors - e2fsck -p $EXT4_DEV + e2fsck -p $EXT4_DEV &> /dev/null if [ $? -ne 0 ]; then tst_resm TFAIL "fsck: the filesystem has errors" return 1 fi # check dir_nlink is set - dumpe2fs $EXT4_DEV | grep '^Filesystem features' | grep -q dir_nlink + dumpe2fs $EXT4_DEV 2> /dev/null | grep '^Filesystem features' | grep -q dir_nlink if [ $? -ne 0 ]; then tst_resm TFAIL "feature dir_nlink is not set" return 1 @@ -152,6 +152,9 @@ for ((i = 0; i < 3; i++)) { for ((k = 0; k < 2; k++)) { + if [ $i -eq $LONG_DIR -a $k -eq 1024 ]; then + continue + fi ext4_run_case 65537 ${DIR_LEN[$k]} ${PARENT_DIR[$j]} \ ${BLOCK_SIZE[$i]} if [ $? -ne 0 ]; then diff --git a/testcases/kernel/fs/ext4-new-features/ext4-uninit-groups/ext4_uninit_groups_test.sh b/testcases/kernel/fs/ext4-new-features/ext4-uninit-groups/ext4_uninit_groups_test.sh index 27cbb5f..b479c8f 100755 --- a/testcases/kernel/fs/ext4-new-features/ext4-uninit-groups/ext4_uninit_groups_test.sh +++ b/testcases/kernel/fs/ext4-new-features/ext4-uninit-groups/ext4_uninit_groups_test.sh @@ -40,8 +40,8 @@ LARGE=3 # filesystem free size in bytes: blocks_size * free_blocks filesystem_free_size() { - bsize=`dumpe2fs -h $EXT4_DEV | grep 'Block size' | awk '{ print $2 }'` - blocks=`dumpe2fs -h $EXT4_DEV | grep 'Free blocks'| awk '{ print $2 }'` + bsize=`dumpe2fs -h $EXT4_DEV 2> /dev/null | grep 'Block size' | awk '{ print $2 }'` + blocks=`dumpe2fs -h $EXT4_DEV 2> /dev/null | grep 'Free blocks'| awk '{ print $2 }'` echo $bsize * $blocks } @@ -61,9 +61,9 @@ age_filesystem() } elif [ $1 -eq $LARGE ]; then rm -rf mnt_point/* - bsize=`dumpe2fs -h $EXT4_DEV | grep 'Block size'` + bsize=`dumpe2fs -h $EXT4_DEV 2> /dev/null | grep 'Block size'` bsize=`echo $bsize | awk '{ print $3 }'` - bcount=`dumpe2fs -h $EXT4_DEV | grep 'Free blocks'` + bcount=`dumpe2fs -h $EXT4_DEV 2> /dev/null | grep 'Free blocks'` bcount=`echo $bcount | awk '{ print $3 }'` dd if=/dev/zero of=mnt_point/tmp_dir bs=$bsize count=$bcount else @@ -80,7 +80,9 @@ age_filesystem() # $4: age filesystem: $EMPTY, $SMALL, $LARGE ext4_test_uninit_groups() { - mkfs.ext4 -I 256 -m 0 $EXT4_DEV > /dev/null + echo "Test $TST_COUNT" >> $LTPROOT/output/ext4_uninit_groups_result.txt + + mkfs.ext4 -I 256 -m 0 $EXT4_DEV &> /dev/null if [ $? -ne 0 ]; then tst_resm TFAIL "failed to create ext4 filesystem" return 1 @@ -92,10 +94,10 @@ ext4_test_uninit_groups() flag=$3 fi - tune2fs -E test_fs -O extents,uninit_groups,$flag $EXT4_DEV + tune2fs -O extents,uninit_groups,$flag $EXT4_DEV &> /dev/null # Must run fsck after setting uninit_groups - fsck -p $EXT4_DEV > /dev/null + fsck -p $EXT4_DEV &> /dev/null mount -t ext4 -o $1,$2 $EXT4_DEV mnt_point if [ $? -ne 0 ]; then @@ -103,7 +105,7 @@ ext4_test_uninit_groups() return 1 fi - age_filesystem $4 + age_filesystem $4 >> $LTPROOT/output/ext4_uninit_groups_result.txt 2>&1 if [ $? -ne 0 ]; then tst_resm TFAIL "age filesystem failed" umount mnt_point @@ -116,7 +118,7 @@ ext4_test_uninit_groups() return 1 fi - fsck -p $EXT4_DEV + fsck -p $EXT4_DEV &> /dev/null if [ $? -ne 0 ]; then tst_resm TFAIL "fsck returned failure" return 1 @@ -135,6 +137,8 @@ AGING=( $EMPTY $SMALL $LARGE ) RET=0 +rm -f $LTPROOT/output/ext4_uninit_groups_result.txt + for ((i = 0; i < 2; i++)) { for ((j = 0; j < 2; j++)) -- 1.6.5.2 |
From: Subrata M. <su...@li...> - 2009-12-09 12:35:27
|
On Tue, 2009-12-08 at 13:59 +0800, Miao Xie wrote: > Hi, Subrata > > on 2009-12-7 19:53, Subrata Modak wrote: > >>>>>>>>> /dev/VG1_EXT4/LV1_EXT4: The test_fs flag is set (and ext4 is > >>>>>>>>> available). > >>>>>>>>> CLEARED. > >>>>>>>> You don't need to set the test_fs flag for modern ext4. > >>>>>>> Can we change this ? > >>>> The attached patch can fix this problem. > >>> I had already checked in your earlier patch long back. So, you would > >>> please need to resend over the latest code. > >> I'm sorry that I didn't bring the new patch(was sent on 2009-11-30) to your attention, > >> so I resend that new patch now. I have tried to apply the patch to the latest code > >> in the cvs repository and everything is ok. > >> > >> Subrata, I didn't find these failure about online defrag on my box. > >> The attached patch opens the verbose mode of e4defrag to get more information later, it is > >> useful to find the problem of online defrag. So, Could you test it again and send the output > >> info to me? > >> > >> The following is changelog. > >> ========================= > >> This patch can fix the following problem: > >> -- delete the code of setting the test_fs flag > >> -- open the verbose mode of e4defrag, it is useful to find the problem of online defrag > >> -- fix some bug of the Makefile > >> -- throw the utilities version info away > >> -- delete two unnecessary testcases about ext4 subdir limit test > >> > >> Signed-off-by: Miao Xie <mi...@cn...> Thanks Miao. The changes are checked in now. Regards-- Subrata > > > > I still find some issues: > > I'm so sorry for my mistake and resend the patch. > > The following is changelog. > ========================= > This patch can fix the following problem: > -- delete the code of setting the test_fs flag > -- open the verbose mode of e4defrag, it is useful to find the problem of online defrag > -- fix some bug of the Makefile > -- throw the utilities version info away > -- delete two unnecessary testcases about ext4 subdir limit test > > Signed-off-by: Miao Xie <mi...@cn...> > --- > testcases/kernel/fs/ext4-new-features/Makefile | 20 ++++++++++---- > testcases/kernel/fs/ext4-new-features/README | 7 +---- > .../ext4-delalloc-mballoc/ext4-alloc-test.sh | 15 ++++------ > .../ext4-inode-version/ext4_get_inode_version.sh | 2 +- > .../ext4-inode-version/ext4_inode_version_test.sh | 10 +++---- > .../ext4-journal-checksum/ext4_journal_checksum.sh | 12 ++++---- > .../ext4_nsec_timestamps_test.sh | 8 ++--- > .../ext4-online-defrag/ext4_online_defrag_test.sh | 28 ++++++++++++------- > .../ext4_persist_prealloc_test.sh | 4 +- > .../ext4-subdir-limit/ext4_subdir_limit_test.sh | 17 +++++++----- > .../ext4-uninit-groups/ext4_uninit_groups_test.sh | 22 +++++++++------ > 11 files changed, 78 insertions(+), 67 deletions(-) > > diff --git a/testcases/kernel/fs/ext4-new-features/Makefile b/testcases/kernel/fs/ext4-new-features/Makefile > index 0e09dd6..208b8a6 100644 > --- a/testcases/kernel/fs/ext4-new-features/Makefile > +++ b/testcases/kernel/fs/ext4-new-features/Makefile > @@ -22,17 +22,25 @@ top_srcdir ?= ../../../.. > > include $(top_srcdir)/include/mk/env_pre.mk > > -INSTALL_TARGETS := *.sh > -INSTALL_TARGETS := ext4-test-config > -INSTALL_TARGETS := ffsb-6.0-rc2/ffsb > +INSTALL_TARGETS += ffsb > +INSTALL_TARGETS += run_ext4_test.sh > +INSTALL_TARGETS += ext4_funcs.sh > +INSTALL_TARGETS += ext4-test-config > > -FILTER_OUT_DIRS := ffsb-6.0-rc2 > +FFSBDIR := ffsb-6.0-rc2 > +FILTER_OUT_DIRS := $(FFSBDIR) > +FFSB := $(FFSBDIR)/ffsb > > -trunk-all: ffsb-6.0-rc2 > +$(FFSB): $(FFSBDIR) > + $(MAKE) -C $^ -f "$(abs_srcdir)/$^/Makefile" all > + cp $(FFSBDIR)/ffsb ffsb > + > +trunk-all: $(FFSB) > > trunk-clean:: | ffsb-clean > > -ffsb-clean:: ffsb-6.0-rc2 > +ffsb-clean:: $(FFSBDIR) > $(MAKE) -C $^ -f "$(abs_srcdir)/$^/Makefile" clean > + rm -rf ffsb > > include $(top_srcdir)/include/mk/generic_trunk_target.mk > diff --git a/testcases/kernel/fs/ext4-new-features/README b/testcases/kernel/fs/ext4-new-features/README > index 0ea0460..bda16e5 100644 > --- a/testcases/kernel/fs/ext4-new-features/README > +++ b/testcases/kernel/fs/ext4-new-features/README > @@ -9,7 +9,7 @@ with increasing disk capacities and state-of-the-art feature requirements. More > extensive information of ext4 can be found at the ext4 wiki site at the URL: > http://ext4.wiki.kernel.org > > -There are total 119 testcases for ext4 new features test that have been added. > +There are total 117 testcases for ext4 new features test that have been added. > Now, these testcases can test multi-block alloc/delayed alloc, inode version > field on disk, journal checksumming, nanosec timestamps, online defrag, persist > prealloc, subdirectory limit and uninit groups of ext4. > @@ -111,11 +111,6 @@ Directory containing the shell script which is used to test subdirectory limit > of ext4. According to the kernel documentation, we create more than 32000 > subdirectorys on the ext4 filesystem. > > -But, when then block size is small, such as 1024, and the name of every > -subdirectory is very long, such as every name is 255 bytes, we can just create > -less than 20000 subdirectory. In this test suite, there is two FAIL cases by > -reason of it. > - > ext4-uninit-groups > ------------------ > Directory containing the shell script which is used to test uninitialized groups > diff --git a/testcases/kernel/fs/ext4-new-features/ext4-delalloc-mballoc/ext4-alloc-test.sh b/testcases/kernel/fs/ext4-new-features/ext4-delalloc-mballoc/ext4-alloc-test.sh > index ec2f389..be7b074 100755 > --- a/testcases/kernel/fs/ext4-new-features/ext4-delalloc-mballoc/ext4-alloc-test.sh > +++ b/testcases/kernel/fs/ext4-new-features/ext4-delalloc-mballoc/ext4-alloc-test.sh > @@ -37,14 +37,12 @@ read_config $1 > # Case 17: mount ext4 partition to ext3 > ext4_test_remount() > { > - mkfs.ext3 -I 256 -b 1024 $EXT4_DEV > /dev/null > + mkfs.ext3 -I 256 -b 1024 $EXT4_DEV &> /dev/null > if [ $? -ne 0 ]; then > tst_resm TFAIL "failed to create ext4 filesystem" > return 1 > fi > > - tune2fs -E test_fs $EXT4_DEV > - > mount -t ext4 -o delalloc,auto_da_alloc $EXT4_DEV mnt_point > if [ $? -ne 0 ]; then > tst_resm TFAIL "failed to mount ext4 filesystem" > @@ -71,7 +69,7 @@ ext4_test_remount() > fi > umount mnt_point > > - fsck -p $EXT4_DEV > + fsck -p $EXT4_DEV &> /dev/null > if [ $? -ne 0 ]; then > tst_resm TFAIL "fsck returned failure" > return 1 > @@ -87,16 +85,15 @@ ext4_test_remount() > # $4: auto_da_alloc > ext4_test_delalloc_mballoc() > { > - tst_resm TINFO "isDelalloc: $1, isDirectIO: $2, Blocksize: $3, \ > - isAuto_da_alloc: $4" > + tst_resm TINFO "isDelalloc: $1, isDirectIO: $2, Blocksize: $3, isAuto_da_alloc: $4" > > - mkfs.ext4 -I 256 -b $3 /$EXT4_DEV > /dev/null > + mkfs.ext4 -I 256 -b $3 /$EXT4_DEV &> /dev/null > if [ $? -ne 0 ]; then > tst_resm TFAIL "failed to create ext4 filesystem" > return 1 > fi > > - tune2fs -E test_fs -O extents $EXT4_DEV > + tune2fs -O extents $EXT4_DEV &> /dev/null > > mount -t ext4 -o $1,$4 $EXT4_DEV mnt_point > if [ $? -ne 0 ]; then > @@ -117,7 +114,7 @@ ext4_test_delalloc_mballoc() > return 1 > fi > > - fsck -p $EXT4_DEV > + fsck -p $EXT4_DEV &> /dev/null > if [ $? -ne 0 ]; then > tst_resm TFAIL "fsck returned failure" > return 1 > diff --git a/testcases/kernel/fs/ext4-new-features/ext4-inode-version/ext4_get_inode_version.sh b/testcases/kernel/fs/ext4-new-features/ext4-inode-version/ext4_get_inode_version.sh > index 8f5c907..0e7a8b6 100755 > --- a/testcases/kernel/fs/ext4-new-features/ext4-inode-version/ext4_get_inode_version.sh > +++ b/testcases/kernel/fs/ext4-new-features/ext4-inode-version/ext4_get_inode_version.sh > @@ -24,7 +24,7 @@ > #$2: 1 - return inode version by return value > # !1 - writting inode version to stddev > > -inode_version=`debugfs -R "stat $1" $EXT4_DEV | grep 'Version' | awk '{ > +inode_version=`debugfs -R "stat $1" $EXT4_DEV 2> /dev/null | grep 'Version' | awk '{ > print $NF }'` > > # The inode_version's format: '0x0000000a' or '0x00000000:0000000a', > diff --git a/testcases/kernel/fs/ext4-new-features/ext4-inode-version/ext4_inode_version_test.sh b/testcases/kernel/fs/ext4-new-features/ext4-inode-version/ext4_inode_version_test.sh > index f27248b..4a58b36 100755 > --- a/testcases/kernel/fs/ext4-new-features/ext4-inode-version/ext4_inode_version_test.sh > +++ b/testcases/kernel/fs/ext4-new-features/ext4-inode-version/ext4_inode_version_test.sh > @@ -41,13 +41,13 @@ ext4_test_128_inode_version() > { > tst_resm TINFO "Test inode version is 32 bits with 128 inode size" > > - mkfs.ext4 -I 128 $EXT4_DEV > /dev/null > + mkfs.ext4 -I 128 $EXT4_DEV &> /dev/null > if [ $? -ne 0 ]; then > tst_resm TFAIL "failed to create ext4 filesystem" > return 1 > fi > > - tune2fs -E test_fs -O extents $EXT4_DEV > + tune2fs -O extents $EXT4_DEV &> /dev/null > > mount -t ext4 -o i_version $EXT4_DEV mnt_point > if [ $? -ne 0 ]; then > @@ -67,7 +67,7 @@ ext4_test_128_inode_version() > fi > > # inode version is 32 bits: 0x00000000 > - version=`debugfs $EXT4_DEV -R "stat tmp_file" | grep 'Version'` > + version=`debugfs $EXT4_DEV -R "stat tmp_file" 2> /dev/null | grep 'Version'` > version=`echo $version | awk '{ print $NF }'` > version=`echo $version | sed 's/^0x//'` > len=${#version} > @@ -91,14 +91,12 @@ ext4_test_128_inode_version() > # $1: file operation > test_inode_version() > { > - mkfs.ext3 -I 256 $EXT4_DEV > /dev/null > + mkfs.ext3 -I 256 $EXT4_DEV &> /dev/null > if [ $? -ne 0 ]; then > tst_resm TFAIL "failed to create ext4 filesystem" > return 1 > fi > > - tune2fs -E test_fs $EXT4_DEV > /dev/null > - > mount -t ext4 -o i_version $EXT4_DEV mnt_point > if [ $? -ne 0 ]; then > tst_resm TFAIL "failed to mount ext4 filesystem" > diff --git a/testcases/kernel/fs/ext4-new-features/ext4-journal-checksum/ext4_journal_checksum.sh b/testcases/kernel/fs/ext4-new-features/ext4-journal-checksum/ext4_journal_checksum.sh > index 550afa1..eb72b5d 100755 > --- a/testcases/kernel/fs/ext4-new-features/ext4-journal-checksum/ext4_journal_checksum.sh > +++ b/testcases/kernel/fs/ext4-new-features/ext4-journal-checksum/ext4_journal_checksum.sh > @@ -59,17 +59,17 @@ ext4_test_journal_checksum() > async_commit="Used" > fi > > - tst_resm TINFO "journal mode: $1, commit interval: $2, \ > - journal_checksum: $checksum, \ > - journal_async_commit: $async_commit, barrier: $5" > + tst_resm TINFO "journal mode: $1, commit interval: $2, " \ > + "journal_checksum: $checksum, " \ > + "journal_async_commit: $async_commit, barrier: $5" > > - mkfs.ext4 -I 256 $EXT4_DEV > /dev/null > + mkfs.ext4 -I 256 $EXT4_DEV &> /dev/null > if [ $? -ne 0 ]; then > tst_resm TFAIL "failed to create ext4 filesystem" > return 1 > fi > > - tune2fs -E test_fs -O extents $EXT4_DEV > + tune2fs -O extents $EXT4_DEV &> /dev/null > > mount -t ext4 -o data=$1,commit=$2,$3,$4,barrier=$5 $EXT4_DEV mnt_point > if [ $? -ne 0 ]; then > @@ -90,7 +90,7 @@ ext4_test_journal_checksum() > return 1 > fi > > - e2fsck -p $EXT4_DEV > + e2fsck -p $EXT4_DEV &> /dev/null > if [ $? -ne 0 ]; then > tst_resm TFAIL "fsck returned failure" > return 1 > diff --git a/testcases/kernel/fs/ext4-new-features/ext4-nsec-timestamps/ext4_nsec_timestamps_test.sh b/testcases/kernel/fs/ext4-new-features/ext4-nsec-timestamps/ext4_nsec_timestamps_test.sh > index ced6576..cc00507 100755 > --- a/testcases/kernel/fs/ext4-new-features/ext4-nsec-timestamps/ext4_nsec_timestamps_test.sh > +++ b/testcases/kernel/fs/ext4-new-features/ext4-nsec-timestamps/ext4_nsec_timestamps_test.sh > @@ -41,13 +41,13 @@ ext4_test_sec_timestamps() > { > tst_resm TINFO "Test timestamps with 128 inode size" > > - mkfs.ext4 -I 128 $EXT4_DEV > /dev/null > + mkfs.ext4 -I 128 $EXT4_DEV &> /dev/null > if [ $? -ne 0 ]; then > tst_resm TFAIL "failed to create ext4 filesystem" > return 1 > fi > > - tune2fs -E test_fs -O extents $EXT4_DEV > + tune2fs -O extents $EXT4_DEV &> /dev/null > > mount -t ext4 $EXT4_DEV mnt_point > if [ $? -ne 0 ]; then > @@ -82,14 +82,12 @@ ext4_test_nsec_timestamps() > { > tst_resm TINFO "Test timestamps with 256 inode size" > > - mkfs.ext3 -I 256 $EXT4_DEV > /dev/null > + mkfs.ext3 -I 256 $EXT4_DEV &> /dev/null > if [ $? -ne 0 ]; then > tst_resm TFAIL "failed to create ext4 filesystem" > return 1 > fi > > - tune2fs -E test_fs $EXT4_DEV > - > mount -t ext4 $EXT4_DEV mnt_point > if [ $? -ne 0 ]; then > tst_resm TFAIL "failed to mount ext4 filesystem" > diff --git a/testcases/kernel/fs/ext4-new-features/ext4-online-defrag/ext4_online_defrag_test.sh b/testcases/kernel/fs/ext4-new-features/ext4-online-defrag/ext4_online_defrag_test.sh > index 84613c8..7b4dda3 100755 > --- a/testcases/kernel/fs/ext4-new-features/ext4-online-defrag/ext4_online_defrag_test.sh > +++ b/testcases/kernel/fs/ext4-new-features/ext4-online-defrag/ext4_online_defrag_test.sh > @@ -94,23 +94,23 @@ my_e4defrag() > { > if [ $1 -eq $FILE ]; then > if [ $2 -eq $SMALL ]; then > - ./e4defrag mnt_point/data0/ > + ./e4defrag -v mnt_point/data0/ > return $? > # EMPTY or LARGE > else > - ./e4defrag mnt_point/tmp_file > + ./e4defrag -v mnt_point/tmp_file > return $? > fi > elif [ $1 -eq $DIR ]; then > if [ $2 -eq $SMALL ]; then > - ./e4defrag mnt_point/data0/ > + ./e4defrag -v mnt_point/data0/ > return $? > else > - ./e4defrag mnt_point/tmp_dir > + ./e4defrag -v mnt_point/tmp_dir > return $? > fi > else > - ./e4defrag $EXT4_DEV > + ./e4defrag -v $EXT4_DEV > return $? > fi > } > @@ -121,15 +121,20 @@ my_e4defrag() > # $3: block size > ext4_test_online_defrag() > { > + echo Test $TST_COUNT start >> \ > + $LTPROOT/output/ext4_online_defrag_result.txt > + > tst_resm TINFO "defrag type: $1, defrag obj: $2, block size: $3" > > - mkfs.ext4 -m 0 -b $3 -O ^flex_bg $EXT4_DEV > /dev/null > + mkfs.ext4 -m 0 -b $3 -O ^flex_bg $EXT4_DEV >> \ > + $LTPROOT/output/ext4_online_defrag_result.txt 2>&1 > if [ $? -ne 0 ]; then > tst_resm TFAIL "failed to create ext4 filesystem" > return 1 > fi > > - tune2fs -E test_fs -O extents $EXT4_DEV > + tune2fs -O extents $EXT4_DEV >> \ > + $LTPROOT/output/ext4_online_defrag_result.txt 2>&1 > > mount -t ext4 -o nodelalloc $EXT4_DEV mnt_point > if [ $? -ne 0 ]; then > @@ -137,7 +142,7 @@ ext4_test_online_defrag() > return 1 > fi > > - age_filesystem $2 $1 > + age_filesystem $2 $1 >> $LTPROOT/output/ext4_online_defrag_result.txt 2>&1 > > my_e4defrag $1 $2 >> $LTPROOT/output/ext4_online_defrag_result.txt > if [ $? -ne 0 ]; then > @@ -152,18 +157,21 @@ ext4_test_online_defrag() > return 1 > fi > > - e2fsck -p $EXT4_DEV > + e2fsck -p $EXT4_DEV >> \ > + $LTPROOT/output/ext4_online_defrag_result.txt 2>&1 > if [ $? -ne 0 ]; then > tst_resm TFAIL "fsck returned failure" > return 1 > fi > > - tst_resm TPASS "ext4 online defrag test pass(defrag type: $1, Aging: $2, block size: $3)" > + tst_resm TPASS "ext4 online defrag test pass" > } > > # main > ext4_setup > > +rm -f $LTPROOT/output/ext4_online_defrag_result.txt > + > DEFRAG=( $FILE $DIR $FILESYSTEM ) > AGING=( $EMPTY $SMALL $LARGE ) > BLOCK_SIZE=( 1024 4096 ) > diff --git a/testcases/kernel/fs/ext4-new-features/ext4-persist-prealloc/ext4_persist_prealloc_test.sh b/testcases/kernel/fs/ext4-new-features/ext4-persist-prealloc/ext4_persist_prealloc_test.sh > index 0d293e8..e895d25 100755 > --- a/testcases/kernel/fs/ext4-new-features/ext4-persist-prealloc/ext4_persist_prealloc_test.sh > +++ b/testcases/kernel/fs/ext4-new-features/ext4-persist-prealloc/ext4_persist_prealloc_test.sh > @@ -43,7 +43,7 @@ export TDIRECTORY=$PWD/mnt_point/ > # $1: 1024 or 4096 > ext4_test_persist_prealloc() > { > - mkfs.ext4 -I 256 -b $1 $EXT4_DEV > /dev/null > + mkfs.ext4 -I 256 -b $1 $EXT4_DEV &> /dev/null > if [ $? -ne 0 ]; then > tst_resm TFAIL "failed to create ext4 filesystem" > return 1 > @@ -81,7 +81,7 @@ ext4_test_persist_prealloc() > return 1 > fi > > - e2fsck -p $EXT4_DEV > + e2fsck -p $EXT4_DEV &> /dev/null > if [ $? -ne 0 ]; then > tst_resm TFAIL "fsck returned failure" > return 1 > diff --git a/testcases/kernel/fs/ext4-new-features/ext4-subdir-limit/ext4_subdir_limit_test.sh b/testcases/kernel/fs/ext4-new-features/ext4-subdir-limit/ext4_subdir_limit_test.sh > index 42c4336..5631fe5 100755 > --- a/testcases/kernel/fs/ext4-new-features/ext4-subdir-limit/ext4_subdir_limit_test.sh > +++ b/testcases/kernel/fs/ext4-new-features/ext4-subdir-limit/ext4_subdir_limit_test.sh > @@ -28,7 +28,7 @@ cd $LTPROOT/testcases/bin > . ./ext4_funcs.sh > > export TCID="ext4-subdir-limit" > -export TST_TOTAL=12 > +export TST_TOTAL=10 > export TST_COUNT=1 > > # $1: the test config > @@ -59,20 +59,20 @@ ext4_run_case() > dir_name_len="long name" > fi > > - tst_resm TINFO "Num of dirs to create: $1, Dir name len: $dir_name_len \ > - Parent dir: $3, Block size: $4" > + tst_resm TINFO "Num of dirs to create: $1, Dir name len: $dir_name_len, " \ > + "Parent dir: $3, Block size: $4" > > # only mkfs if block size has been changed, > # or previous case failed > if [ $prev_result -ne $PASS -o $4 -ne $prev_block_size ]; then > - mkfs.ext4 -b $4 -I 256 $EXT4_DEV > /dev/null > + mkfs.ext4 -b $4 -I 256 $EXT4_DEV &> /dev/null > if [ $? -ne 0 ]; then > tst_resm TFAIL "failed to create ext4 filesystem" > return 1 > fi > prev_block_size=$4 > > - tune2fs -E test_fs -O extents $EXT4_DEV > + tune2fs -O extents $EXT4_DEV &> /dev/null > fi > > prev_result=$FAIL > @@ -120,14 +120,14 @@ ext4_run_case() > fi > > # run fsck to make sure the filesystem has no errors > - e2fsck -p $EXT4_DEV > + e2fsck -p $EXT4_DEV &> /dev/null > if [ $? -ne 0 ]; then > tst_resm TFAIL "fsck: the filesystem has errors" > return 1 > fi > > # check dir_nlink is set > - dumpe2fs $EXT4_DEV | grep '^Filesystem features' | grep -q dir_nlink > + dumpe2fs $EXT4_DEV 2> /dev/null | grep '^Filesystem features' | grep -q dir_nlink > if [ $? -ne 0 ]; then > tst_resm TFAIL "feature dir_nlink is not set" > return 1 > @@ -152,6 +152,9 @@ for ((i = 0; i < 3; i++)) > { > for ((k = 0; k < 2; k++)) > { > + if [ $i -eq $LONG_DIR -a $k -eq 1024 ]; then > + continue > + fi > ext4_run_case 65537 ${DIR_LEN[$k]} ${PARENT_DIR[$j]} \ > ${BLOCK_SIZE[$i]} > if [ $? -ne 0 ]; then > diff --git a/testcases/kernel/fs/ext4-new-features/ext4-uninit-groups/ext4_uninit_groups_test.sh b/testcases/kernel/fs/ext4-new-features/ext4-uninit-groups/ext4_uninit_groups_test.sh > index 27cbb5f..b479c8f 100755 > --- a/testcases/kernel/fs/ext4-new-features/ext4-uninit-groups/ext4_uninit_groups_test.sh > +++ b/testcases/kernel/fs/ext4-new-features/ext4-uninit-groups/ext4_uninit_groups_test.sh > @@ -40,8 +40,8 @@ LARGE=3 > # filesystem free size in bytes: blocks_size * free_blocks > filesystem_free_size() > { > - bsize=`dumpe2fs -h $EXT4_DEV | grep 'Block size' | awk '{ print $2 }'` > - blocks=`dumpe2fs -h $EXT4_DEV | grep 'Free blocks'| awk '{ print $2 }'` > + bsize=`dumpe2fs -h $EXT4_DEV 2> /dev/null | grep 'Block size' | awk '{ print $2 }'` > + blocks=`dumpe2fs -h $EXT4_DEV 2> /dev/null | grep 'Free blocks'| awk '{ print $2 }'` > > echo $bsize * $blocks > } > @@ -61,9 +61,9 @@ age_filesystem() > } > elif [ $1 -eq $LARGE ]; then > rm -rf mnt_point/* > - bsize=`dumpe2fs -h $EXT4_DEV | grep 'Block size'` > + bsize=`dumpe2fs -h $EXT4_DEV 2> /dev/null | grep 'Block size'` > bsize=`echo $bsize | awk '{ print $3 }'` > - bcount=`dumpe2fs -h $EXT4_DEV | grep 'Free blocks'` > + bcount=`dumpe2fs -h $EXT4_DEV 2> /dev/null | grep 'Free blocks'` > bcount=`echo $bcount | awk '{ print $3 }'` > dd if=/dev/zero of=mnt_point/tmp_dir bs=$bsize count=$bcount > else > @@ -80,7 +80,9 @@ age_filesystem() > # $4: age filesystem: $EMPTY, $SMALL, $LARGE > ext4_test_uninit_groups() > { > - mkfs.ext4 -I 256 -m 0 $EXT4_DEV > /dev/null > + echo "Test $TST_COUNT" >> $LTPROOT/output/ext4_uninit_groups_result.txt > + > + mkfs.ext4 -I 256 -m 0 $EXT4_DEV &> /dev/null > if [ $? -ne 0 ]; then > tst_resm TFAIL "failed to create ext4 filesystem" > return 1 > @@ -92,10 +94,10 @@ ext4_test_uninit_groups() > flag=$3 > fi > > - tune2fs -E test_fs -O extents,uninit_groups,$flag $EXT4_DEV > + tune2fs -O extents,uninit_groups,$flag $EXT4_DEV &> /dev/null > > # Must run fsck after setting uninit_groups > - fsck -p $EXT4_DEV > /dev/null > + fsck -p $EXT4_DEV &> /dev/null > > mount -t ext4 -o $1,$2 $EXT4_DEV mnt_point > if [ $? -ne 0 ]; then > @@ -103,7 +105,7 @@ ext4_test_uninit_groups() > return 1 > fi > > - age_filesystem $4 > + age_filesystem $4 >> $LTPROOT/output/ext4_uninit_groups_result.txt 2>&1 > if [ $? -ne 0 ]; then > tst_resm TFAIL "age filesystem failed" > umount mnt_point > @@ -116,7 +118,7 @@ ext4_test_uninit_groups() > return 1 > fi > > - fsck -p $EXT4_DEV > + fsck -p $EXT4_DEV &> /dev/null > if [ $? -ne 0 ]; then > tst_resm TFAIL "fsck returned failure" > return 1 > @@ -135,6 +137,8 @@ AGING=( $EMPTY $SMALL $LARGE ) > > RET=0 > > +rm -f $LTPROOT/output/ext4_uninit_groups_result.txt > + > for ((i = 0; i < 2; i++)) > { > for ((j = 0; j < 2; j++)) |