diff mbox series

[v2] generic/520: Remove sync in clean_dir

Message ID 1577096499-23471-1-git-send-email-xuyang2018.jy@cn.fujitsu.com (mailing list archive)
State New, archived
Headers show
Series [v2] generic/520: Remove sync in clean_dir | expand

Commit Message

Yang Xu Dec. 23, 2019, 10:21 a.m. UTC
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.

Signed-off-by: Yang Xu <xuyang2018.jy@cn.fujitsu.com>
---
 tests/generic/520 | 1 -
 1 file changed, 1 deletion(-)

Comments

Yang Xu Jan. 16, 2020, 9:28 a.m. UTC | #1
on 2019/12/23 18:21, 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))
> ---------------------------------------------
Does someone review this?
> 
> 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.
> 
> Signed-off-by: Yang Xu <xuyang2018.jy@cn.fujitsu.com>
> ---
>   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
>   }
>   
>
Darrick J. Wong Jan. 16, 2020, 3:35 p.m. UTC | #2
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:

Reviewed-by: Darrick J. Wong <darrick.wong@oracle.com>

--D

> Signed-off-by: Yang Xu <xuyang2018.jy@cn.fujitsu.com>
> ---
>  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
> 
> 
>
Yang Xu Jan. 17, 2020, 2:57 a.m. UTC | #3
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@oracle.com>
> 
> --D
> 
>> Signed-off-by: Yang Xu <xuyang2018.jy@cn.fujitsu.com>
>> ---
>>   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
>>
>>
>>
> 
>
diff mbox series

Patch

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
 }