fs/ext4: enhance logic of ext4_nsec_timestamps_test
PATCH v2 1/1 fs/ext4: enhance logic of ext4_nsec_timestamps_test
1. Check the big block device at do_setup(), TBROK if it's mounted
2. Replace umount to tst_umount to handle umount failed due to device busy
3. Fix typo error
--- .../ext4_nsec_timestamps_test.sh | 34 ++++++++-------------- .../kernel/fs/ext4-new-features/ext4_funcs.sh | 3 ++ 2 files changed, 15 insertions(+), 22 deletions(-)
testcases/kernel/fs/ext4-new-features/ext4-nsec-timestamps/ext4_nsec_timestamps_test.sh +12 -22
@@ -56,15 +56,10 @@ ext4_test_sec_timestamps() if [ $atime -ne 0 -o $mtime -ne 0 -o $ctime -ne 0 ]; then tst_resm TFAIL "Timestamp is not second(atime: $atime, mtime: \ $mtime, ctime: $ctime)" - umount mnt_point - return - fi - - umount mnt_point - if [ $? -ne 0 ]; then - tst_resm TFAIL "failed to umount ext4 filesystem" + tst_umount mnt_point return fi + tst_umount mnt_point tst_resm TPASS "Ext4 nanosecond timestamps test with 128 inode size pass" }
@@ -76,8 +71,8 @@ ext4_test_nsec_timestamps() mkfs.ext3 -I 256 $EXT4_DEV >/dev/null 2>&1 if [ $? -ne 0 ]; then - tst_resm TFAIL "failed to create ext4 filesystem" - return + tst_resm TFAIL "failed to create ext3 filesystem" + return fi mount -t ext4 $EXT4_DEV mnt_point
@@ -105,10 +100,9 @@ ext4_test_nsec_timestamps() nsec_ctime=`ext4_file_time mnt_point/tmp_file ctime nsec` # Test nanosecond - if [ $nsec_atime -eq 0 -a $nsec_mtime -eq 0 -a $nsec_ctime -eq 0 ] - then + if [ $nsec_atime -eq 0 -a $nsec_mtime -eq 0 -a $nsec_ctime -eq 0 ]; then tst_resm TFAIL "The timestamp is not nanosecond(nsec_atime: $nsec_atime, nsec_mtime: $nsec_mtime, nsec_ctime: $nsec_ctime)" - umount mnt_point + tst_mount mnt_point return fi
@@ -122,15 +116,11 @@ ext4_test_nsec_timestamps() than the current time we got.(sec_atime: $sec_atime, \ sec_mtime: $sec_mtime, sec_ctime: $sec_ctime, \ cur_time[s]: $sec)" - umount mnt_point + tst_umount mnt_point return fi - umount mnt_point - if [ $? -ne 0 ]; then - tst_resm TFAIL "failed to umount ext4 filesystem" - return - fi + tst_umount mnt_point # Test mount to ext3 and then mount back to ext4 mount -t ext3 $EXT4_DEV mnt_point
@@ -138,7 +128,7 @@ ext4_test_nsec_timestamps() tst_resm TFAIL "failed to mount to ext3" return fi - umount mnt_point + tst_umount mnt_point mount -t ext4 $EXT4_DEV mnt_point if [ $? -ne 0 ]; then
@@ -148,7 +138,7 @@ ext4_test_nsec_timestamps() nsec_atime2=`ext4_file_time mnt_point/tmp_file atime nsec` nsec_mtime2=`ext4_file_time mnt_point/tmp_file mtime nsec` - nsec_ctime2=`ext4_file_time mnt_point/tmp_file mtime nsec` + nsec_ctime2=`ext4_file_time mnt_point/tmp_file ctime nsec` if [ $nsec_atime -ne $nsec_atime2 -o $nsec_ctime -ne $nsec_ctime2 -o \ $nsec_mtime -ne $nsec_mtime2 ]; then
@@ -156,11 +146,11 @@ ext4_test_nsec_timestamps() unexpected. Before[atime mtime ctime]: $nsec_atime \ $nsec_mtime $nsec_ctime, After[atime mtime ctime]: \ $nsec_atime2 $nsec_mtime2 $nsec_ctime2)" - umount mnt_point + tst_umount mnt_point return fi - umount mnt_point + tst_umount mnt_point tst_resm TPASS "Ext4 nanosecond timestamps test with 256 inode size pass" }
testcases/kernel/fs/ext4-new-features/ext4_funcs.sh +3 -0
@@ -45,6 +45,9 @@ ext4_setup() tst_brkm TCONF "tests need a big block device(5G-10G)" else export EXT4_DEV=$LTP_BIG_DEV + if mount | cut -d' ' -f1 | grep -q ^$EXT4_DEV$ ; then + tst_brkm TBROK "$EXT4_DEV should be umounted before test" + fi fi tst_tmpdir
Signature · 1 line
2.14.1
Zhang
PATCH v2 1/1 fs/ext4: enhance logic of ext4_nsec_timestamps_test
Hi,
Could you help to check if further modification is needed for the v2 patch? This patch fix fake failure of 1 test case on certain HW. Thanks.
Yixin
Quoted 123 lines · Yixin Zhang
1. Check the big block device at
do_setup(), TBROK if it's mounted
2. Replace umount totst_umountto handle umount failed due to device busy
3. Fix typo errorSigned-off-by Yixin Zhang <[email protected]>--- .../ext4_nsec_timestamps_test.sh | 34 ++++++++-------------- .../kernel/fs/ext4-new-features/ext4_funcs.sh | 3 ++ 2 files changed, 15 insertions(+), 22 deletions(-)testcases/kernel/fs/ext4-new-features/ext4-nsec-timestamps/ext4_nsec_timestamps_test.sh +12
-22@@ -56,15 +56,10 @@ ext4_test_sec_timestamps() if [ $atime -ne 0 -o $mtime -ne 0 -o $ctime -ne 0 ]; then tst_resm TFAIL "Timestamp is not second(atime: $atime, mtime: \ $mtime, ctime: $ctime)" - umount mnt_point - return - fi - - umount mnt_point - if [ $? -ne 0 ]; then - tst_resm TFAIL "failed to umount ext4 filesystem" + tst_umount mnt_point return fi + tst_umount mnt_point tst_resm TPASS "Ext4 nanosecond timestamps test with 128 inode size pass" }@@ -76,8 +71,8 @@ ext4_test_nsec_timestamps() mkfs.ext3 -I 256 $EXT4_DEV >/dev/null 2>&1 if [ $? -ne 0 ]; then - tst_resm TFAIL "failed to create ext4 filesystem" - return + tst_resm TFAIL "failed to create ext3 filesystem" + return fi mount -t ext4 $EXT4_DEV mnt_point@@ -105,10 +100,9 @@ ext4_test_nsec_timestamps() nsec_ctime=`ext4_file_time mnt_point/tmp_file ctime nsec` # Test nanosecond - if [ $nsec_atime -eq 0 -a $nsec_mtime -eq 0 -a $nsec_ctime -eq 0 ] - then + if [ $nsec_atime -eq 0 -a $nsec_mtime -eq 0 -a $nsec_ctime -eq 0 ]; then tst_resm TFAIL "The timestamp is not nanosecond(nsec_atime: $nsec_atime, nsec_mtime: $nsec_mtime, nsec_ctime: $nsec_ctime)" - umount mnt_point + tst_mount mnt_point return fi@@ -122,15 +116,11 @@ ext4_test_nsec_timestamps() than the current time we got.(sec_atime: $sec_atime, \ sec_mtime: $sec_mtime, sec_ctime: $sec_ctime, \ cur_time[s]: $sec)" - umount mnt_point + tst_umount mnt_point return fi - umount mnt_point - if [ $? -ne 0 ]; then - tst_resm TFAIL "failed to umount ext4 filesystem" - return - fi + tst_umount mnt_point # Test mount to ext3 and then mount back to ext4 mount -t ext3 $EXT4_DEV mnt_point@@ -138,7 +128,7 @@ ext4_test_nsec_timestamps() tst_resm TFAIL "failed to mount to ext3" return fi - umount mnt_point + tst_umount mnt_point mount -t ext4 $EXT4_DEV mnt_point if [ $? -ne 0 ]; then@@ -148,7 +138,7 @@ ext4_test_nsec_timestamps() nsec_atime2=`ext4_file_time mnt_point/tmp_file atime nsec` nsec_mtime2=`ext4_file_time mnt_point/tmp_file mtime nsec` - nsec_ctime2=`ext4_file_time mnt_point/tmp_file mtime nsec` + nsec_ctime2=`ext4_file_time mnt_point/tmp_file ctime nsec` if [ $nsec_atime -ne $nsec_atime2 -o $nsec_ctime -ne $nsec_ctime2 -o \ $nsec_mtime -ne $nsec_mtime2 ]; then@@ -156,11 +146,11 @@ ext4_test_nsec_timestamps() unexpected. Before[atime mtime ctime]: $nsec_atime \ $nsec_mtime $nsec_ctime, After[atime mtime ctime]: \ $nsec_atime2 $nsec_mtime2 $nsec_ctime2)" - umount mnt_point + tst_umount mnt_point return fi - umount mnt_point + tst_umount mnt_point tst_resm TPASS "Ext4 nanosecond timestamps test with 256 inode size pass" }testcases/kernel/fs/ext4-new-features/ext4_funcs.sh +3
-0@@ -45,6 +45,9 @@ ext4_setup() tst_brkm TCONF "tests need a big block device(5G-10G)" else export EXT4_DEV=$LTP_BIG_DEV + if mount | cut -d' ' -f1 | grep -q ^$EXT4_DEV$ ; then + tst_brkm TBROK "$EXT4_DEV should be umounted before test" + fi fi tst_tmpdirSignature · 1 line
2.14.1
PATCH v2 1/1 fs/ext4: enhance logic of ext4_nsec_timestamps_test
In reply to Yixin ZhangHi!
Quoted 3 lines
1. Check the big block device at
do_setup(), TBROK if it's mounted
2. Replace umount totst_umountto handle umount failed due to device busy
3. Fix typo error
Sorry for the delay.
Quoted 29 lines
Signed-off-by Yixin Zhang <[email protected]>--- .../ext4_nsec_timestamps_test.sh | 34 ++++++++-------------- .../kernel/fs/ext4-new-features/ext4_funcs.sh | 3 ++ 2 files changed, 15 insertions(+), 22 deletions(-)testcases/kernel/fs/ext4-new-features/ext4-nsec-timestamps/ext4_nsec_timestamps_test.sh +2
-7@@ -56,15 +56,10 @@ ext4_test_sec_timestamps() if [ $atime -ne 0 -o $mtime -ne 0 -o $ctime -ne 0 ]; then tst_resm TFAIL "Timestamp is not second(atime: $atime, mtime: \ $mtime, ctime: $ctime)" - umount mnt_point - return - fi - - umount mnt_point - if [ $? -ne 0 ]; then - tst_resm TFAIL "failed to umount ext4 filesystem" + tst_umount mnt_point return fi + tst_umount mnt_point tst_resm TPASS "Ext4 nanosecond timestamps test with 128 inode size pass" }
testcases/kernel/fs/ext4-new-features/ext4-nsec-timestamps/ext4_nsec_timestamps_test.sh ext4_test_nsec_timestamps() · line 75
Quoted 7 lines
testcases/kernel/fs/ext4-new-features/ext4-nsec-timestamps/ext4_nsec_timestamps_test.sh +2
-2@@ -76,8 +71,8 @@ ext4_test_nsec_timestamps() mkfs.ext3 -I 256 $EXT4_DEV >/dev/null 2>&1 if [ $? -ne 0 ]; then - tst_resm TFAIL "failed to create ext4 filesystem" - return + tst_resm TFAIL "failed to create ext3 filesystem" + return
^
The whitespace here should be keept consistent with the rest.
Quoted 44 lines
testcases/kernel/fs/ext4-new-features/ext4-nsec-timestamps/ext4_nsec_timestamps_test.sh +5
-10fi mount -t ext4 $EXT4_DEV mnt_point@@ -105,10 +100,9 @@ ext4_test_nsec_timestamps() nsec_ctime=`ext4_file_time mnt_point/tmp_file ctime nsec` # Test nanosecond - if [ $nsec_atime -eq 0 -a $nsec_mtime -eq 0 -a $nsec_ctime -eq 0 ] - then + if [ $nsec_atime -eq 0 -a $nsec_mtime -eq 0 -a $nsec_ctime -eq 0 ]; then tst_resm TFAIL "The timestamp is not nanosecond(nsec_atime: $nsec_atime, nsec_mtime: $nsec_mtime, nsec_ctime: $nsec_ctime)" - umount mnt_point + tst_mount mnt_point return fi@@ -122,15 +116,11 @@ ext4_test_nsec_timestamps() than the current time we got.(sec_atime: $sec_atime, \ sec_mtime: $sec_mtime, sec_ctime: $sec_ctime, \ cur_time[s]: $sec)" - umount mnt_point + tst_umount mnt_point return fi - umount mnt_point - if [ $? -ne 0 ]; then - tst_resm TFAIL "failed to umount ext4 filesystem" - return - fi + tst_umount mnt_point # Test mount to ext3 and then mount back to ext4 mount -t ext3 $EXT4_DEV mnt_point@@ -138,7 +128,7 @@ ext4_test_nsec_timestamps() tst_resm TFAIL "failed to mount to ext3" return fi - umount mnt_point + tst_umount mnt_point mount -t ext4 $EXT4_DEV mnt_point if [ $? -ne 0 ]; then
testcases/kernel/fs/ext4-new-features/ext4-nsec-timestamps/ext4_nsec_timestamps_test.sh ext4_test_nsec_timestamps() · line 141
Quoted 5 lines
testcases/kernel/fs/ext4-new-features/ext4-nsec-timestamps/ext4_nsec_timestamps_test.sh +1
-1@@ -148,7 +138,7 @@ ext4_test_nsec_timestamps() nsec_atime2=`ext4_file_time mnt_point/tmp_file atime nsec` nsec_mtime2=`ext4_file_time mnt_point/tmp_file mtime nsec` - nsec_ctime2=`ext4_file_time mnt_point/tmp_file mtime nsec` + nsec_ctime2=`ext4_file_time mnt_point/tmp_file ctime nsec`
It would be cleaner if this change went as a separate patch.
Quoted 5 lines
testcases/kernel/fs/ext4-new-features/ext4-nsec-timestamps/ext4_nsec_timestamps_test.sh +0
-0if [ $nsec_atime -ne $nsec_atime2 -o $nsec_ctime -ne $nsec_ctime2 -o \ $nsec_mtime -ne $nsec_mtime2 ]; then@@ -156,11 +146,11 @@ ext4_test_nsec_timestamps() unexpected. Before[atime mtime ctime]: $nsec_atime \ $nsec_mtime $nsec_ctime, After[atime mtime ctime]: \
testcases/kernel/fs/ext4-new-features/ext4-nsec-timestamps/ext4_nsec_timestamps_test.sh ext4_test_nsec_timestamps() · line 155
Quoted 10 lines
testcases/kernel/fs/ext4-new-features/ext4-nsec-timestamps/ext4_nsec_timestamps_test.sh +2
-2$nsec_atime2 $nsec_mtime2 $nsec_ctime2)" - umount mnt_point + tst_umount mnt_point return fi - umount mnt_point + tst_umount mnt_point tst_resm TPASS "Ext4 nanosecond timestamps test with 256 inode size pass" }
And we should also put the typos and formatting changes into a separate patch as well.
testcases/kernel/fs/ext4-new-features/ext4_funcs.sh ext4_setup() · line 51
Quoted 12 lines
testcases/kernel/fs/ext4-new-features/ext4_funcs.sh +3
-0@@ -45,6 +45,9 @@ ext4_setup() tst_brkm TCONF "tests need a big block device(5G-10G)" else export EXT4_DEV=$LTP_BIG_DEV + if mount | cut -d' ' -f1 | grep -q ^$EXT4_DEV$ ; then + tst_brkm TBROK "$EXT4_DEV should be umounted before test" + fi fi
And this should probably go as a separate patch as well.
The changes looks good but can you please split the changes into logical groups and resend as a patchset?
Signature · 2 lines
Cyril Hrubis [email protected]