[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-ID: <20200226032256.10978-1-yi.zhang@huawei.com>
Date: Wed, 26 Feb 2020 11:22:56 +0800
From: "zhangyi (F)" <yi.zhang@...wei.com>
To: <fstests@...r.kernel.org>, <guaneryu@...il.com>
CC: <linux-ext4@...r.kernel.org>, <yi.zhang@...wei.com>
Subject: [PATCH v2] ext4/021: make sure the fdatasync subprocess exits
Now we just kill fdatasync_work process and wait nothing after the
test, so a busy unmount failure may appear if the fdatasync syscall
doesn't return in time.
umount: /tmp/scratch: target is busy.
mount: /tmp/scratch: /dev/sdb already mounted on /tmp/scratch.
!!! failed to remount /dev/sdb on /tmp/scratch
This patch wait the xfs_io fdatasync subprocess exit to make sure
_check_scratch_fs success.
Signed-off-by: zhangyi (F) <yi.zhang@...wei.com>
---
tests/ext4/021 | 5 +++++
1 file changed, 5 insertions(+)
diff --git a/tests/ext4/021 b/tests/ext4/021
index 519737e1..3fc38e89 100755
--- a/tests/ext4/021
+++ b/tests/ext4/021
@@ -80,6 +80,10 @@ _scratch_mount
do_fdatasync_work()
{
+ # Wait for running subcommand before exitting so that
+ # mountpoint is not busy when we try to unmount it
+ trap "wait; exit" SIGTERM
+
while [ 1 ]; do
$XFS_IO_PROG -f -c "fdatasync" $SCRATCH_MNT/testfile
done
@@ -89,6 +93,7 @@ do_fdatasync_work &
datasync_work_pid=$!
sleep 10
kill $datasync_work_pid >/dev/null 2>&1
+wait
# success, all done
status=0
--
2.17.2
Powered by blists - more mailing lists