aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDarrick J. Wong <darrick.wong@oracle.com>2016-10-17 15:09:28 -0700
committerEryu Guan <eguan@redhat.com>2016-10-21 23:20:14 +0800
commited6e4664eecac1bfc4cdf6d1b8d7f4b105b2d240 (patch)
treeb3c63c4175979cea245a723e9198047005338184
parentbf5a5da572472a010223d039d90e79ecb7dc5e3c (diff)
downloadxfstests-dev-ed6e4664eecac1bfc4cdf6d1b8d7f4b105b2d240.tar.gz
fstests: fix fallocate commands that need the unshare switch
We re-added the UNSHARE flag to fallocate, so go make sure that all the unshare tests actually check that the installed copy of xfs_io supports the 'funshare' command and that the underlying filesystem understands the flag, and change the tests themselves to use funshare. Signed-off-by: Darrick J. Wong <darrick.wong@oracle.com> Reviewed-by: Christoph Hellwig <hch@lst.de> Signed-off-by: Eryu Guan <eguan@redhat.com>
-rw-r--r--common/rc2
-rwxr-xr-xtests/generic/15616
-rwxr-xr-xtests/generic/2644
-rwxr-xr-xtests/xfs/13212
-rwxr-xr-xtests/xfs/1843
-rwxr-xr-xtests/xfs/1923
-rwxr-xr-xtests/xfs/2003
-rwxr-xr-xtests/xfs/2043
-rwxr-xr-xtests/xfs/3443
-rwxr-xr-xtests/xfs/3453
-rwxr-xr-xtests/xfs/3463
-rwxr-xr-xtests/xfs/3473
12 files changed, 31 insertions, 27 deletions
diff --git a/common/rc b/common/rc
index 041736dafd..a84efe49cb 100644
--- a/common/rc
+++ b/common/rc
@@ -2042,7 +2042,7 @@ _require_xfs_io_command()
"falloc" )
testio=`$XFS_IO_PROG -F -f -c "falloc 0 1m" $testfile 2>&1`
;;
- "fpunch" | "fcollapse" | "zero" | "fzero" | "finsert" )
+ "fpunch" | "fcollapse" | "zero" | "fzero" | "finsert" | "funshare")
testio=`$XFS_IO_PROG -F -f -c "pwrite 0 20k" -c "fsync" \
-c "$command 4k 8k" $testfile 2>&1`
;;
diff --git a/tests/generic/156 b/tests/generic/156
index 9e22a02442..e062b56a36 100755
--- a/tests/generic/156
+++ b/tests/generic/156
@@ -54,15 +54,11 @@ _cleanup()
. ./common/attr
. ./common/reflink
-if [ $FSTYP = "btrfs" ]; then
- _notrun "btrfs doesn't handle unshare on fallocate"
-fi
-
# real QA test starts here
_supported_os Linux
_require_test_reflink
_require_cp_reflink
-_require_xfs_io_command "falloc"
+_require_xfs_io_command "funshare"
rm -f $seqres.full
@@ -89,18 +85,18 @@ _test_cycle_mount
free_blocks1=$(stat -f $testdir -c '%f')
echo "funshare part of a file"
-$XFS_IO_PROG -f -c "falloc 0 $((sz / 2))" $testdir/file2
+$XFS_IO_PROG -f -c "funshare 0 $((sz / 2))" $testdir/file2
_test_cycle_mount
echo "funshare some of the copies"
-$XFS_IO_PROG -f -c "falloc 0 $sz" $testdir/file2
-$XFS_IO_PROG -f -c "falloc 0 $sz" $testdir/file3
+$XFS_IO_PROG -f -c "funshare 0 $sz" $testdir/file2
+$XFS_IO_PROG -f -c "funshare 0 $sz" $testdir/file3
_test_cycle_mount
free_blocks2=$(stat -f $testdir -c '%f')
echo "funshare the rest of the files"
-$XFS_IO_PROG -f -c "falloc 0 $sz" $testdir/file4
-$XFS_IO_PROG -f -c "falloc 0 $sz" $testdir/file1
+$XFS_IO_PROG -f -c "funshare 0 $sz" $testdir/file4
+$XFS_IO_PROG -f -c "funshare 0 $sz" $testdir/file1
_test_cycle_mount
free_blocks3=$(stat -f $testdir -c '%f')
diff --git a/tests/generic/264 b/tests/generic/264
index 631184cb12..f90de03935 100755
--- a/tests/generic/264
+++ b/tests/generic/264
@@ -47,7 +47,7 @@ _cleanup()
_supported_os Linux
_require_scratch_reflink
_require_cp_reflink
-_require_xfs_io_command "falloc"
+_require_xfs_io_command "funshare"
rm -f $seqres.full
@@ -75,7 +75,7 @@ md5sum $testdir/file2 | _filter_scratch
md5sum $testdir/file2.chk | _filter_scratch
echo "CoW and unmount"
-$XFS_IO_PROG -f -c "pwrite -S 0x62 -b $((blksz * 3)) $blksz $((blksz * 3))" -c "falloc $((blksz * 2)) $blksz" $testdir/file2 >> $seqres.full
+$XFS_IO_PROG -f -c "pwrite -S 0x62 -b $((blksz * 3)) $blksz $((blksz * 3))" -c "funshare $((blksz * 2)) $blksz" $testdir/file2 >> $seqres.full
_scratch_cycle_mount
$XFS_IO_PROG -f -c "pwrite -S 0x62 -b $((blksz * 3)) $blksz $((blksz * 3))" $testdir/file2.chk >> $seqres.full
_scratch_cycle_mount
diff --git a/tests/xfs/132 b/tests/xfs/132
index 7f7ebaa353..ac8dc25f57 100755
--- a/tests/xfs/132
+++ b/tests/xfs/132
@@ -63,7 +63,7 @@ _supported_os Linux
_require_test_reflink
_require_test_lsattr
_require_cp_reflink
-_require_xfs_io_command "falloc"
+_require_xfs_io_command "funshare"
rm -f $seqres.full
@@ -90,18 +90,18 @@ _test_cycle_mount
free_blocks1=$(stat -f $testdir -c '%f')
echo "funshare part of a file"
-$XFS_IO_PROG -f -c "falloc 0 $((sz / 2))" $testdir/file2
+$XFS_IO_PROG -f -c "funshare 0 $((sz / 2))" $testdir/file2
_test_cycle_mount
echo "funshare some of the copies"
-$XFS_IO_PROG -f -c "falloc 0 $sz" $testdir/file2
-$XFS_IO_PROG -f -c "falloc 0 $sz" $testdir/file3
+$XFS_IO_PROG -f -c "funshare 0 $sz" $testdir/file2
+$XFS_IO_PROG -f -c "funshare 0 $sz" $testdir/file3
_test_cycle_mount
free_blocks2=$(stat -f $testdir -c '%f')
echo "funshare the rest of the files"
-$XFS_IO_PROG -f -c "falloc 0 $sz" $testdir/file4
-$XFS_IO_PROG -f -c "falloc 0 $sz" $testdir/file1
+$XFS_IO_PROG -f -c "funshare 0 $sz" $testdir/file4
+$XFS_IO_PROG -f -c "funshare 0 $sz" $testdir/file1
_test_cycle_mount
free_blocks3=$(stat -f $testdir -c '%f')
diff --git a/tests/xfs/184 b/tests/xfs/184
index e843b4eb5f..08607019f6 100755
--- a/tests/xfs/184
+++ b/tests/xfs/184
@@ -51,6 +51,7 @@ _require_scratch_reflink
_require_cp_reflink
_require_fiemap
_require_xfs_io_command "cowextsize"
+_require_xfs_io_command "funshare"
rm -f $seqres.full
@@ -84,7 +85,7 @@ md5sum $testdir/file2 | _filter_scratch
echo "CoW and unmount"
$XFS_IO_PROG -f -c "cowextsize" $testdir/file2 >> $seqres.full
$XFS_IO_PROG -f -c "pwrite -R -S 0x63 -b $real_blksz 0 $((filesize + 1))" -c "fdatasync" $testdir/file2 >> $seqres.full
-$XFS_IO_PROG -f -c "falloc 0 $((filesize + 1))" $testdir/file2 >> $seqres.full
+$XFS_IO_PROG -f -c "funshare 0 $((filesize + 1))" $testdir/file2 >> $seqres.full
_scratch_cycle_mount
echo "Compare files"
diff --git a/tests/xfs/192 b/tests/xfs/192
index 01f5e1c97c..e56c8605ae 100755
--- a/tests/xfs/192
+++ b/tests/xfs/192
@@ -51,6 +51,7 @@ _require_scratch_reflink
_require_cp_reflink
_require_fiemap
_require_xfs_io_command "cowextsize"
+_require_xfs_io_command "funshare"
_require_odirect
rm -f $seqres.full
@@ -85,7 +86,7 @@ md5sum $testdir/file2 | _filter_scratch
echo "CoW and unmount"
$XFS_IO_PROG -f -c "cowextsize" $testdir/file2 >> $seqres.full
$XFS_IO_PROG -d -f -c "pwrite -R -S 0x63 -b $real_blksz 0 $filesize" $testdir/file2 >> $seqres.full
-$XFS_IO_PROG -d -f -c "falloc 0 $filesize" $testdir/file2 >> $seqres.full
+$XFS_IO_PROG -d -f -c "funshare 0 $filesize" $testdir/file2 >> $seqres.full
_scratch_cycle_mount
echo "Compare files"
diff --git a/tests/xfs/200 b/tests/xfs/200
index ebb6e736a8..d4363a4264 100755
--- a/tests/xfs/200
+++ b/tests/xfs/200
@@ -53,6 +53,7 @@ _require_scratch_reflink
_require_cp_reflink
_require_fiemap
_require_xfs_io_command "cowextsize"
+_require_xfs_io_command "funshare"
rm -f $seqres.full
@@ -88,7 +89,7 @@ $XFS_IO_PROG -f -c "cowextsize" $testdir/file2 >> $seqres.full
cat $testdir/file2 > /dev/null
$XFS_IO_PROG -f -c "pwrite -R -S 0x63 -b $real_blksz 0 $filesize" -c "fdatasync" $testdir/file2 >> $seqres.full
$XFS_IO_PROG -f -c "fadvise -d 0 $filesize" -c "fsync" $testdir/file2 >> $seqres.full
-$XFS_IO_PROG -f -c "falloc 0 $filesize" $testdir/file2 >> $seqres.full
+$XFS_IO_PROG -f -c "funshare 0 $filesize" $testdir/file2 >> $seqres.full
_scratch_cycle_mount
echo "Compare files"
diff --git a/tests/xfs/204 b/tests/xfs/204
index 6e5b896f63..3dbaf95d5d 100755
--- a/tests/xfs/204
+++ b/tests/xfs/204
@@ -53,6 +53,7 @@ _require_scratch_reflink
_require_cp_reflink
_require_fiemap
_require_xfs_io_command "cowextsize"
+_require_xfs_io_command "funshare"
_require_odirect
rm -f $seqres.full
@@ -89,7 +90,7 @@ $XFS_IO_PROG -f -c "cowextsize" $testdir/file2 >> $seqres.full
cat $testdir/file2 > /dev/null
$XFS_IO_PROG -d -f -c "pwrite -R -S 0x63 -b $real_blksz 0 $filesize" -c "fdatasync" $testdir/file2 >> $seqres.full
$XFS_IO_PROG -f -c "fadvise -d 0 $filesize" -c "fsync" $testdir/file2 >> $seqres.full
-$XFS_IO_PROG -f -c "falloc 0 $filesize" $testdir/file2 >> $seqres.full
+$XFS_IO_PROG -f -c "funshare 0 $filesize" $testdir/file2 >> $seqres.full
_scratch_cycle_mount
echo "Compare files"
diff --git a/tests/xfs/344 b/tests/xfs/344
index 25bff1af0f..229e22acab 100755
--- a/tests/xfs/344
+++ b/tests/xfs/344
@@ -51,6 +51,7 @@ _require_scratch_reflink
_require_cp_reflink
_require_fiemap
_require_xfs_io_command "cowextsize"
+_require_xfs_io_command "funshare"
_require_odirect
rm -f $seqres.full
@@ -85,7 +86,7 @@ md5sum $testdir/file2 | _filter_scratch
echo "CoW and unmount"
$XFS_IO_PROG -f -c "cowextsize" $testdir/file2 >> $seqres.full
$XFS_IO_PROG -d -f -c "pwrite -R -S 0x63 -b $real_blksz 0 $filesize" $testdir/file2 >> $seqres.full
-$XFS_IO_PROG -d -f -c "falloc -u 0 $filesize" $testdir/file2 >> $seqres.full
+$XFS_IO_PROG -d -f -c "funshare 0 $filesize" $testdir/file2 >> $seqres.full
_scratch_cycle_mount
echo "Compare files"
diff --git a/tests/xfs/345 b/tests/xfs/345
index edb4443faf..4e3132436f 100755
--- a/tests/xfs/345
+++ b/tests/xfs/345
@@ -50,6 +50,7 @@ _require_scratch_reflink
_require_cp_reflink
_require_fiemap
_require_xfs_io_command "cowextsize"
+_require_xfs_io_command "funshare"
rm -f $seqres.full
@@ -83,7 +84,7 @@ md5sum $testdir/file2 | _filter_scratch
echo "CoW and unmount"
$XFS_IO_PROG -f -c "cowextsize" $testdir/file2 >> $seqres.full
$XFS_IO_PROG -f -c "pwrite -R -S 0x63 -b $real_blksz 0 $filesize" -c "fdatasync" $testdir/file2 >> $seqres.full
-$XFS_IO_PROG -f -c "falloc -u 0 $filesize" $testdir/file2 >> $seqres.full
+$XFS_IO_PROG -f -c "funshare 0 $filesize" $testdir/file2 >> $seqres.full
_scratch_cycle_mount
echo "Compare files"
diff --git a/tests/xfs/346 b/tests/xfs/346
index d0463eb503..7d7075a395 100755
--- a/tests/xfs/346
+++ b/tests/xfs/346
@@ -51,6 +51,7 @@ _require_scratch_reflink
_require_cp_reflink
_require_fiemap
_require_xfs_io_command "cowextsize"
+_require_xfs_io_command "funshare"
_require_odirect
rm -f $seqres.full
@@ -88,7 +89,7 @@ seq 1 10 | while read i; do
$XFS_IO_PROG -d -f -c "pwrite -R -S 0x63 -b $real_blksz 0 $filesize" $testdir/file2 >> $seqres.full
_scratch_cycle_mount
done
-$XFS_IO_PROG -f -c "falloc -u 0 $filesize" $testdir/file2 >> $seqres.full
+$XFS_IO_PROG -f -c "funshare 0 $filesize" $testdir/file2 >> $seqres.full
_scratch_cycle_mount
echo "Compare files"
diff --git a/tests/xfs/347 b/tests/xfs/347
index 15782168ab..e4f9635a0c 100755
--- a/tests/xfs/347
+++ b/tests/xfs/347
@@ -51,6 +51,7 @@ _require_scratch_reflink
_require_cp_reflink
_require_fiemap
_require_xfs_io_command "cowextsize"
+_require_xfs_io_command "funshare"
rm -f $seqres.full
@@ -87,7 +88,7 @@ seq 1 10 | while read i; do
$XFS_IO_PROG -f -c "pwrite -R -S 0x63 -b $real_blksz 0 $filesize" $testdir/file2 >> $seqres.full
_scratch_cycle_mount
done
-$XFS_IO_PROG -f -c "falloc -u 0 $filesize" $testdir/file2 >> $seqres.full
+$XFS_IO_PROG -f -c "funshare 0 $filesize" $testdir/file2 >> $seqres.full
_scratch_cycle_mount
echo "Compare files"