Skip to contentSkip to conversation

fs/ext4-new-features: add ext4-new-features tests to the default

PATCH Superseded Xiaoguang Wang 2 participants 4 messages Nov 13, 2013 – Nov 19, 2013 1 message not in the archive

v1 of 4 Superseded Latest is v4 →

lore
Share & tools
lore
#0 lore raw

PATCH 1/1 fs/ext4-new-features: add ext4-new-features tests to the default

Here treat every feature as a signle test program.

Makefile: add configure for ffsb

runtest/fs_ext4: 5 new features test currently enabled

run_ext4_test.sh: According to the input parameter to decide which feature test to be called.

---
 runtest/fs_ext4                                    |   6 +-
 testcases/kernel/fs/Makefile                       |   2 +-
 testcases/kernel/fs/ext4-new-features/Makefile     |   1 +
 .../kernel/fs/ext4-new-features/run_ext4_test.sh   | 115 ++++++---------------
 4 files changed, 37 insertions(+), 87 deletions(-)
runtest/fs_ext4 +5 -1
index c65ebab..84b6486 100644
@@ -1 +1,5 @@
-ext4_new_feature_test	run_ext4_test.sh
+ext4-inode-version	run_ext4_test.sh ext4_inode_version_test
+ext4-nsec-timestamps	run_ext4_test.sh ext4_nsec_timestamps_test
+ext4-persist-prealloc	run_ext4_test.sh ext4_persist_prealloc_test
+ext4-subdir-limit	run_ext4_test.sh ext4_subdir_limit_test
+ext4-uninit-groups	run_ext4_test.sh ext4_uninit_groups_test
testcases/kernel/fs/Makefile +1 -1
index afad6f9..81310f5 100644
@@ -27,6 +27,6 @@ include $(top_srcdir)/include/mk/env_pre.mk
 # XXX (garrcoop): Need to add autoconf checks for JFS.
 # 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
+FILTER_OUT_DIRS		:= dmapi
 
 include $(top_srcdir)/include/mk/generic_trunk_target.mk
testcases/kernel/fs/ext4-new-features/Makefile +1 -0
index 208b8a6..1ad1c3c 100644
@@ -32,6 +32,7 @@ FILTER_OUT_DIRS		:= $(FFSBDIR)
 FFSB			:= $(FFSBDIR)/ffsb
 
 $(FFSB): $(FFSBDIR)
+	cd $^; ./configure
 	$(MAKE) -C $^ -f "$(abs_srcdir)/$^/Makefile" all
 	cp $(FFSBDIR)/ffsb ffsb
 
testcases/kernel/fs/ext4-new-features/run_ext4_test.sh +30 -85

148 lines not on this page · raw message

Signature · 13 lines
1.8.2.1


------------------------------------------------------------------------------
DreamFactory - Open Source REST & JSON Services for HTML5 & Native Apps
OAuth, Users, Roles, SQL, NoSQL, BLOB Storage and External API Access
Free app hosting. Or install the open source package on any LAMP server.
Sign up and see examples for AngularJS, jQuery, Sencha Touch and Native!
http://pubads.g.doubleclick.net/gampad/clk?id=63469471&iu=/4140/ostg.clktrk
_______________________________________________
Ltp-list mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/ltp-list
#1 lore raw

Hi!

Quoted 45 lines

Here treat every feature as a signle test program.

Makefile: add configure for ffsb

runtest/fs_ext4: 5 new features test currently enabled

run_ext4_test.sh: According to the input parameter to decide which feature test to be called.

---
 runtest/fs_ext4                                    |   6 +-
 testcases/kernel/fs/Makefile                       |   2 +-
 testcases/kernel/fs/ext4-new-features/Makefile     |   1 +
 .../kernel/fs/ext4-new-features/run_ext4_test.sh   | 115 ++++++---------------
 4 files changed, 37 insertions(+), 87 deletions(-)
runtest/fs_ext4 +5 -1
index c65ebab..84b6486 100644
@@ -1 +1,5 @@
-ext4_new_feature_test	run_ext4_test.sh
+ext4-inode-version	run_ext4_test.sh ext4_inode_version_test
+ext4-nsec-timestamps	run_ext4_test.sh ext4_nsec_timestamps_test
+ext4-persist-prealloc	run_ext4_test.sh ext4_persist_prealloc_test
+ext4-subdir-limit	run_ext4_test.sh ext4_subdir_limit_test
+ext4-uninit-groups	run_ext4_test.sh ext4_uninit_groups_test
testcases/kernel/fs/Makefile +1 -1
index afad6f9..81310f5 100644
@@ -27,6 +27,6 @@ include $(top_srcdir)/include/mk/env_pre.mk
 # XXX (garrcoop): Need to add autoconf checks for JFS.
 # 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
+FILTER_OUT_DIRS		:= dmapi
 
 include $(top_srcdir)/include/mk/generic_trunk_target.mk
testcases/kernel/fs/ext4-new-features/Makefile +0 -0
index 208b8a6..1ad1c3c 100644

testcases/kernel/fs/ext4-new-features/Makefile FILTER_OUT_DIRS := $(FFSBDIR) · line 37

Quoted 6 lines
testcases/kernel/fs/ext4-new-features/Makefile +1 -0
@@ -32,6 +32,7 @@ FILTER_OUT_DIRS		:= $(FFSBDIR)
 FFSB			:= $(FFSBDIR)/ffsb
 
 $(FFSB): $(FFSBDIR)
+	cd $^; ./configure
 	$(MAKE) -C $^ -f "$(abs_srcdir)/$^/Makefile" all
 	cp $(FFSBDIR)/ffsb ffsb

The way how ffsb is bundled in LTP is simply wrong, it shouldn't be in the source tree at all. What I would like to see is to:

1. modify testcases that depends on it to return TCONF with message that explains that ffsb must be installed to run the testcases if ffsb is not found in PATH

or alternatively use something different to create the I/O load

2. remove ffsb from the LTP git tree

Quoted 30 lines
testcases/kernel/fs/ext4-new-features/run_ext4_test.sh +10 -0
index bfbd844..4ede8f7 100755
@@ -38,11 +38,15 @@
 ################################################################################
 
 source ext4_funcs.sh;
+test_features=$1
 
 export TCID="ext4_new_feature"
 export TST_TOTAL=1
 export TST_COUNT=1
 
+script_name="$test_features"".sh"
+BLOCK_COUNT=3072
+
 tst_kvercmp 2 6 31
 if [ $? -eq 0 ]; then
 	tst_brkm TCONF ignored "kernel is below 2.6.31"
@@ -71,6 +75,22 @@ if [ ! -f "ext4-test-config" ]; then
 	exit 0
 fi
 
+# create an ext4 partition
+dd if=/dev/zero of=fs_ext4_new_features_$$.img bs=1M count=$BLOCK_COUNT
+
+if [ $? -ne 0 ];then
+	tst_brkm TCONF ignored "failed to create an ext4 image file"
+	exit 0

testcases/kernel/fs/ext4-new-features/run_ext4_test.sh if [ ! -f "ext4-test-config" ]; then · line 93

Quoted 10 lines
testcases/kernel/fs/ext4-new-features/run_ext4_test.sh +10 -0
+fi
+
+EXT4_DEV=$(losetup --show -f fs_ext4_new_features_$$.img)
+if [ $? -ne 0 ];then
+	tst_brkm TCONF ignored "set loop device failed"
+	exit 0
+fi
+
+echo "EXT4_DEV=$EXT4_DEV" > ./ext4-test-config
+

We should use DEVICE passed to the runltp script instead, that way we don't even need this helper (if there is some common code move it to ex4_funcs.sh and use it from the tests) and call the test scripts from runtest file directly.

And also remove the configure that asks user about which device to use.

Signature · 13 lines
Cyril Hrubis
[email protected]

------------------------------------------------------------------------------
DreamFactory - Open Source REST & JSON Services for HTML5 & Native Apps
OAuth, Users, Roles, SQL, NoSQL, BLOB Storage and External API Access
Free app hosting. Or install the open source package on any LAMP server.
Sign up and see examples for AngularJS, jQuery, Sencha Touch and Native!
http://pubads.g.doubleclick.net/gampad/clk?id=63469471&iu=/4140/ostg.clktrk
_______________________________________________
Ltp-list mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/ltp-list
#2 lore raw

Hi!

Quoted 16 lines

testcases/kernel/fs/ext4-new-features/Makefile FILTER_OUT_DIRS := $(FFSBDIR) · line 37

Quoted 12 lines

include $(top_srcdir)/include/mk/generic_trunk_target.mk

testcases/kernel/fs/ext4-new-features/Makefile +1 -0
index 208b8a6..1ad1c3c 100644
@@ -32,6 +32,7 @@ FILTER_OUT_DIRS		:= $(FFSBDIR)
 FFSB			:= $(FFSBDIR)/ffsb
 
 $(FFSB): $(FFSBDIR)
+	cd $^; ./configure
 	$(MAKE) -C $^ -f "$(abs_srcdir)/$^/Makefile" all
 	cp $(FFSBDIR)/ffsb ffsb

The way how ffsb is bundled in LTP is simply wrong, it shouldn't be in the source tree at all. What I would like to see is to:

Quoted 8 lines

1. modify testcases that depends on it to return TCONF with message that explains that ffsb must be installed to run the testcases if ffsb is not found in PATH

or alternatively use something different to create the I/O load

2. remove ffsb from the LTP git tree

Or at least the source tree should be moved to a proper place, there is utils/benchmar/ directory for this purpose allready.

Signature · 13 lines
Cyril Hrubis
[email protected]

------------------------------------------------------------------------------
DreamFactory - Open Source REST & JSON Services for HTML5 & Native Apps
OAuth, Users, Roles, SQL, NoSQL, BLOB Storage and External API Access
Free app hosting. Or install the open source package on any LAMP server.
Sign up and see examples for AngularJS, jQuery, Sencha Touch and Native!
http://pubads.g.doubleclick.net/gampad/clk?id=63469471&iu=/4140/ostg.clktrk
_______________________________________________
Ltp-list mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/ltp-list
#4 lore raw
In reply to a message not in the archive

Hi!

Quoted 21 lines
Quoted 12 lines
Quoted 12 lines
testcases/kernel/fs/ext4-new-features/run_ext4_test.sh +12 -0
+# create an ext4 partition
+dd if=/dev/zero of=fs_ext4_new_features_$$.img bs=1M count=$BLOCK_COUNT
+
+if [ $? -ne 0 ];then
+	tst_brkm TCONF ignored "failed to create an ext4 image file"
+	exit 0
+fi
+
+EXT4_DEV=$(losetup --show -f fs_ext4_new_features_$$.img)
+if [ $? -ne 0 ];then
+	tst_brkm TCONF ignored "set loop device failed"
+	exit 0
Quoted 8 lines

testcases/kernel/fs/ext4-new-features/run_ext4_test.sh if [ ! -f "ext4-test-config" ]; then · line 93

Quoted 4 lines
testcases/kernel/fs/ext4-new-features/run_ext4_test.sh +4 -0
+fi
+
+echo "EXT4_DEV=$EXT4_DEV" > ./ext4-test-config
+

We should use DEVICE passed to the runltp script instead, that way we don't even need this helper (if there is some common code move it to ex4_funcs.sh and use it from the tests) and call the test scripts from runtest file directly.

Quoted 6 lines

The ext4 new features test need a big partition, and the recommended size of this partition is between 5G and 10G, so the DEVICE isn't appropriate.

Whether I should create a big partition in runltp script named BIG_DEVICE to run these tests?

Sounds reasonable to me.

Signature · 13 lines
Cyril Hrubis
[email protected]

------------------------------------------------------------------------------
Shape the Mobile Experience: Free Subscription
Software experts and developers: Be at the forefront of tech innovation.
Intel(R) Software Adrenaline delivers strategic insight and game-changing 
conversations that shape the rapidly evolving mobile landscape. Sign up now. 
http://pubads.g.doubleclick.net/gampad/clk?id=63431311&iu=/4140/ostg.clktrk
_______________________________________________
Ltp-list mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/ltp-list