btrfs/132: wait the writer to avoid EBUSY
authorQu Wenruo <quwenruo@cn.fujitsu.com>
Mon, 26 Dec 2016 04:57:52 +0000 (12:57 +0800)
committerEryu Guan <eguan@redhat.com>
Wed, 28 Dec 2016 11:19:03 +0000 (19:19 +0800)
The kill and wait method will only wait for the children process to
exit, while the xfs_io can still run at background.

This makes the test always fails on HDD backed physical machine.

Use the "while ps aux | grep" method in btrfs/069 to truely wait the
xfs_io to finish.

Signed-off-by: Qu Wenruo <quwenruo@cn.fujitsu.com>
Reviewed-by: Eryu Guan <eguan@redhat.com>
Signed-off-by: Eryu Guan <eguan@redhat.com>
tests/btrfs/132

index 05161772e17e44818bfb68741d84bce151932e58..db0dcb0452cba9fbc99cd0997b85e762a81ee063 100755 (executable)
@@ -94,9 +94,10 @@ sleep $sleep_time
 kill $pids
 wait
 
-# Sync the fs to avoid EBUSY while umount, which is quite common for btrfs
-# compression
-sync
+# Wait all writers really exits
+while ps aux | grep "$SCRATCH_MNT" | grep -qv grep; do
+       sleep 1
+done
 
 echo "Silence is golden"
 status=0