All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Darrick J. Wong" <darrick.wong@oracle.com>
To: david@fromorbit.com, eguan@redhat.com, darrick.wong@oracle.com
Cc: linux-xfs@vger.kernel.org, hch@infradead.org, fstests@vger.kernel.org
Subject: [PATCH 2/3] misc: fix fallocate commands that need the unshare switch
Date: Mon, 17 Oct 2016 15:09:28 -0700	[thread overview]
Message-ID: <147674216832.23842.4457619951534662629.stgit@birch.djwong.org> (raw)
In-Reply-To: <147674215521.23842.13841682595738466897.stgit@birch.djwong.org>

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>
---
 common/rc         |    2 +-
 tests/generic/156 |   16 ++++++----------
 tests/generic/264 |    4 ++--
 tests/xfs/132     |   12 ++++++------
 tests/xfs/184     |    3 ++-
 tests/xfs/192     |    3 ++-
 tests/xfs/200     |    3 ++-
 tests/xfs/204     |    3 ++-
 tests/xfs/344     |    3 ++-
 tests/xfs/345     |    3 ++-
 tests/xfs/346     |    3 ++-
 tests/xfs/347     |    3 ++-
 12 files changed, 31 insertions(+), 27 deletions(-)


diff --git a/common/rc b/common/rc
index 53f5560..86cb41c 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 9e22a02..e062b56 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 631184c..f90de03 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 7f7ebaa..ac8dc25 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 e843b4e..0860701 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 01f5e1c..e56c860 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 ebb6e73..d4363a4 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 6e5b896..3dbaf95 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 25bff1a..229e22a 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 edb4443..4e31324 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 d0463eb..7d7075a 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 1578216..e4f9635 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"


  parent reply	other threads:[~2016-10-17 22:09 UTC|newest]

Thread overview: 11+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-10-17 22:09 [PATCH v2 0/3] xfstests: fix tests for rmap/reflink Darrick J. Wong
2016-10-17 22:09 ` [PATCH 1/3] xfs: set the refcount btree cowflag when setting up cow Darrick J. Wong
2016-10-17 22:09 ` Darrick J. Wong [this message]
2016-10-18  5:19   ` [PATCH 2/3] misc: fix fallocate commands that need the unshare switch Christoph Hellwig
2016-10-17 22:09 ` [PATCH 3/3] misc: fix more xfs_db open-coding instances Darrick J. Wong
2016-10-20 14:44   ` Eryu Guan
2016-10-21  3:21     ` Darrick J. Wong
  -- strict thread matches above, loose matches on Subject: below --
2016-10-14 18:12 [PATCH 0/3] xfstests: fix tests for rmap/reflink Darrick J. Wong
2016-10-14 18:13 ` [PATCH 2/3] misc: fix fallocate commands that need the unshare switch Darrick J. Wong
2016-10-15 17:03   ` Christoph Hellwig
2016-10-16  6:18     ` Christoph Hellwig
2016-10-17 21:57       ` Darrick J. Wong

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=147674216832.23842.4457619951534662629.stgit@birch.djwong.org \
    --to=darrick.wong@oracle.com \
    --cc=david@fromorbit.com \
    --cc=eguan@redhat.com \
    --cc=fstests@vger.kernel.org \
    --cc=hch@infradead.org \
    --cc=linux-xfs@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.