On Fri, Feb 14, 2020 at 10:20:01AM +0800, zhangyi (F) wrote: > 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 kill and wait the xfs_io fdatasync subprocess to make sure > _check_scratch_fs success. Yeah, that's a problem. I think you could add another "trap" in fdatasync_work, as what btrfs/036 does: trap "wait; exit" SIGTERM So xfs_io will be waited by fdatasync_work before exiting. Thanks, Eryu > > Signed-off-by: zhangyi (F) <yi.zhang@xxxxxxxxxx> > --- > tests/ext4/021 | 1 + > 1 file changed, 1 insertion(+) > > diff --git a/tests/ext4/021 b/tests/ext4/021 > index 519737e1..1b4a1ced 100755 > --- a/tests/ext4/021 > +++ b/tests/ext4/021 > @@ -18,6 +18,7 @@ trap "_cleanup; exit \$status" 0 1 2 3 15 > > _cleanup() > { > + $KILLALL_PROG -wq xfs_io > cd / > rm -f $tmp.* > } > -- > 2.23.0.rc2.8.gff66981f45 >