on 2020/01/16 23:35, Darrick J. Wong wrote:
On Mon, Dec 23, 2019 at 06:21:39PM +0800, Yang Xu wrote:
When I test this case on xfs, it may fail as below:
--------------------------------------------
=== link SCRATCH_MNT/A/foo SCRATCH_MNT/bar with fsync SCRATCH_MNT/A ===
+umount: /mnt/xfstests/scratch: target is busy.
+ (In some cases useful info about processes that use
+ the device is found by lsof(8) or fuser(1))
---------------------------------------------
It fails because somethings is still using the fs when we call sync and then
try to unmount it. We can simply remove sync as the unmount is supposed to
persist the file/directory removals.
/me continues to wonder why the target is busy in this case, but as the
sync truly isn't necessary:
I don't konw(I use fuser or lsof to debug, but no useful info). I guess
call sync frequently in a case will cause this. sync doesn't ensure
cached push into disk, also sync doesn't have fixed order(it may push
other into disk, then push SCRATCH_DEV cached write into disk, between
them, umount will report target busy, this happens randomly).
Also, my colleague has a smiliar bug for generic/442 when we remove dm
device. If you can review it, I will be very grateful.
https://patchwork.kernel.org/patch/11160197
Best Regard
Yang Xu
Reviewed-by: Darrick J. Wong <darrick.wong@xxxxxxxxxx>
--D
Signed-off-by: Yang Xu <xuyang2018.jy@xxxxxxxxxxxxxx>
---
tests/generic/520 | 1 -
1 file changed, 1 deletion(-)
diff --git a/tests/generic/520 b/tests/generic/520
index 167d7077..d4457370 100755
--- a/tests/generic/520
+++ b/tests/generic/520
@@ -58,7 +58,6 @@ clean_dir()
{
_mount_flakey
rm -rf $(find $SCRATCH_MNT/* | grep -v "lost+found")
- sync
_unmount_flakey
}
--
2.18.0