Linux-BTRFS Archive on
 help / Atom feed
* [PATCH 2/2] fstests: btrfs/081, fix killing of reader loop subshell
@ 2019-01-25 11:46 fdmanana
  0 siblings, 0 replies; 1+ messages in thread
From: fdmanana @ 2019-01-25 11:46 UTC (permalink / raw)
  To: fstests; +Cc: linux-btrfs, Filipe Manana

From: Filipe Manana <>

The test creates a subshell that keeps running the 'cat' command against a
test file in an infinite loop, and after it kills the subshell it unmounts
the filesystem, after which point any 'cat' subcommand that runs after or
at that time will fail resulting in an unexpected golden output:

  $ ./check btrfs/081
  btrfs/081 3s ... - output mismatch (see /home/fdmanana/git/hub/xfstests/results//btrfs/081.out.bad)
      --- tests/btrfs/081.out	2018-09-16 21:30:48.501104179 +0100
      +++ /home/fdmanana/git/hub/xfstests/results//btrfs/081.out.bad	2019-01-24 20:36:18.989746185 +0000
      @@ -206,5 +206,6 @@
       Verifying file digests after cloning
       14968c092c68e32fa35e776392d14523  SCRATCH_MNT/foo
       14968c092c68e32fa35e776392d14523  SCRATCH_MNT/bar
      +cat: /mnt/scratch/bar: No such file or directory
       Verifying target file digest after umount + mount
       14968c092c68e32fa35e776392d14523  SCRATCH_MNT/bar
      (Run 'diff -u /home/fdmanana/git/hub/xfstests/tests/btrfs/081.out /home/fdmanana/git/hub/xfstests/results//btrfs/081.out.bad'  to see the entire diff)
  Ran: btrfs/081
  Failures: btrfs/081
  Failed 1 of 1 tests

Fix that by adding a proper trap to the reader loop function so that the
subshell waits for executed 'cat' commands when it receives SIGTERM.

Signed-off-by: Filipe Manana <>
 tests/btrfs/081 | 6 ++++++
 1 file changed, 6 insertions(+)

diff --git a/tests/btrfs/081 b/tests/btrfs/081
index 7e83525f..726a370f 100755
--- a/tests/btrfs/081
+++ b/tests/btrfs/081
@@ -69,6 +69,12 @@ create_target_file()
+	# Wait for any running 'cat' subcommand before exitting so that after
+	# the test kills the reader loop subshell it does not fail with an
+	# error message from a 'cat' subcommand due to the test file being
+	# temporarily unavailable due to the scratch fs unmount operation.
+	trap "wait; exit" SIGTERM
 	local name=$1
 	while true; do

^ permalink raw reply	[flat|nested] 1+ messages in thread

only message in thread, back to index

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-01-25 11:46 [PATCH 2/2] fstests: btrfs/081, fix killing of reader loop subshell fdmanana

Linux-BTRFS Archive on

Archives are clonable:
	git clone --mirror linux-btrfs/git/0.git

	# If you have public-inbox 1.1+ installed, you may
	# initialize and index your mirror using the following commands:
	public-inbox-init -V2 linux-btrfs linux-btrfs/ \
	public-inbox-index linux-btrfs

Newsgroup available over NNTP:

AGPL code for this site: git clone public-inbox