generic: Multi insert range tests

This testcase tests various corner cases with pre-existing holes
for finsert range functionality over different type of extents.

Signed-off-by: Namjae Jeon <namjae.jeon@samsung.com>
Signed-off-by: Ashish Sangwan <a.sangwan@samsung.com>
Reviewed-by: Dave Chinner <dchinner@redhat.com>
Signed-off-by: Dave Chinner <david@fromorbit.com>
This commit is contained in:
Namjae Jeon
2015-02-25 15:33:19 +11:00
committed by Dave Chinner
parent abe1802964
commit 045d133f51
3 changed files with 146 additions and 0 deletions
+65
View File
@@ -0,0 +1,65 @@
#! /bin/bash
# FS QA Test No. generic/061
#
# Multi insert range tests
# This testcase is one of the 4 testcases which tries to
# test various corner cases for finsert range functionality over different
# type of extents. These tests are based on generic/255 test case.
# For the type of tests, check the description of _test_generic_punch
# in common/rc.
#-----------------------------------------------------------------------
# Copyright (c) 2015 Samsung Electronics. All Rights Reserved.
#
# 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.
#
# This program is distributed in the hope that it would 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 the Free Software Foundation,
# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
#
#-----------------------------------------------------------------------
#
seq=`basename $0`
seqres=$RESULT_DIR/$seq
echo "QA output created by $seq"
here=`pwd`
tmp=/tmp/$$
status=1 # failure is the default!
_cleanup()
{
rm -f $tmp.*
}
trap "_cleanup ; exit \$status" 0 1 2 3 15
# get standard environment, filters and checks
# we need to include common/punch to get defination fo filter functions
. ./common/rc
. ./common/filter
. ./common/punch
# real QA test starts here
_supported_fs generic
_supported_os Linux
_require_xfs_io_command "fpunch"
_require_xfs_io_command "falloc"
_require_xfs_io_command "fiemap"
_require_xfs_io_command "finsert"
testfile=$TEST_DIR/$seq.$$
_test_generic_punch -k falloc fpunch finsert fiemap _filter_hole_fiemap $testfile
_check_test_fs
status=0
exit
+80
View File
@@ -0,0 +1,80 @@
QA output created by 061
1. into a hole
cf845a781c107ec1346e849c9dd1b7e8
2. into allocated space
0: [0..7]: extent
1: [8..23]: hole
2: [24..55]: extent
64e72217eebcbdf31b1b058f9f5f476a
3. into unwritten space
0: [0..7]: extent
1: [8..23]: hole
2: [24..55]: extent
22b7303d274481990b5401b6263effe0
4. hole -> data
0: [0..7]: extent
1: [8..31]: hole
2: [32..55]: extent
c4fef62ba1de9d91a977cfeec6632f19
5. hole -> unwritten
0: [0..7]: extent
1: [8..31]: hole
2: [32..55]: extent
1ca74f7572a0f4ab477fdbb5682e5f61
6. data -> hole
0: [0..7]: extent
1: [8..23]: hole
2: [24..31]: extent
3: [32..47]: hole
4: [48..55]: extent
be0f35d4292a20040766d87883b0abd1
7. data -> unwritten
0: [0..7]: extent
1: [8..23]: hole
2: [24..47]: extent
3: [48..55]: hole
bddb1f3895268acce30d516a99cb0f2f
8. unwritten -> hole
0: [0..7]: extent
1: [8..23]: hole
2: [24..31]: extent
3: [32..39]: hole
4: [40..55]: extent
f8fc47adc45b7cf72f988b3ddf5bff64
9. unwritten -> data
0: [0..7]: extent
1: [8..23]: hole
2: [24..47]: extent
3: [48..55]: hole
c4fef62ba1de9d91a977cfeec6632f19
10. hole -> data -> hole
0: [0..7]: extent
1: [8..39]: hole
2: [40..63]: extent
52af1bfcbf43f28af2328de32e0567e5
11. data -> hole -> data
0: [0..7]: extent
1: [8..31]: hole
2: [32..39]: extent
3: [40..47]: hole
4: [48..63]: extent
e3a8d52acc4d91a8ed19d7b6f4f26a71
12. unwritten -> data -> unwritten
0: [0..7]: extent
1: [8..31]: hole
2: [32..63]: extent
52af1bfcbf43f28af2328de32e0567e5
13. data -> unwritten -> data
0: [0..7]: extent
1: [8..31]: hole
2: [32..63]: extent
2b22165f4a24a2c36fd05ef00b41df88
14. data -> hole @ EOF
0: [0..23]: extent
1: [24..39]: hole
2: [40..55]: extent
aa0f20d1edcdbce60d8ef82700ba30c3
15. data -> hole @ 0
0: [0..15]: hole
1: [16..55]: extent
86c9d033be2761385c9cfa203c426bb2
+1
View File
@@ -63,6 +63,7 @@
058 auto quick prealloc
059 metadata auto quick
060 auto quick prealloc
061 auto quick prealloc
062 attr udf auto quick
068 other auto freeze dangerous stress
069 rw udf auto quick