[LTP] [PATCH] mountns01: wait for umount completed in thread_b
xuyang2018.jy@fujitsu.com
xuyang2018.jy@fujitsu.com
Thu Jul 7 12:02:43 CEST 2022
Hi Li
We can also use TST_CHECKPOINT_WAKE_AND_WAIT(0) again,
but use SAFE_WAIT(NULL) is easier.
So
Reviewed-by: Yang Xu <xuyang2018.jy@fujitsu.com>
ps: mountns04 seems doesn't need to use needs_checkpoints member
because we don't use tst_checkpoint* api in there.
Best Regards
Yang Xu
> To get rid of race condition (occurs with umount_folders):
>
> mountns01.c:42: TPASS: shared mount in parent passed
> mountns01.c:83: TPASS: shared mount in child passed
> tst_device.c:394: TWARN: umount('B') failed with EINVAL
> mountns.h:39: TWARN: umount(B) failed: EINVAL (22)
>
> Signed-off-by: Li Wang<liwang@redhat.com>
> ---
> testcases/kernel/containers/mountns/mountns01.c | 2 ++
> testcases/kernel/containers/mountns/mountns02.c | 2 ++
> testcases/kernel/containers/mountns/mountns03.c | 2 ++
> 3 files changed, 6 insertions(+)
>
> diff --git a/testcases/kernel/containers/mountns/mountns01.c b/testcases/kernel/containers/mountns/mountns01.c
> index 452fe1d10..3e9c22ce3 100644
> --- a/testcases/kernel/containers/mountns/mountns01.c
> +++ b/testcases/kernel/containers/mountns/mountns01.c
> @@ -86,6 +86,8 @@ static void run(void)
>
> TST_CHECKPOINT_WAKE(0);
>
> + SAFE_WAIT(NULL);
> +
> SAFE_UMOUNT(DIRA);
> }
>
> diff --git a/testcases/kernel/containers/mountns/mountns02.c b/testcases/kernel/containers/mountns/mountns02.c
> index cbd435958..4ef1a61b8 100644
> --- a/testcases/kernel/containers/mountns/mountns02.c
> +++ b/testcases/kernel/containers/mountns/mountns02.c
> @@ -87,6 +87,8 @@ static void run(void)
>
> TST_CHECKPOINT_WAKE(0);
>
> + SAFE_WAIT(NULL);
> +
> SAFE_UMOUNT(DIRA);
> }
>
> diff --git a/testcases/kernel/containers/mountns/mountns03.c b/testcases/kernel/containers/mountns/mountns03.c
> index 5c19a96a9..0d8b86f9d 100644
> --- a/testcases/kernel/containers/mountns/mountns03.c
> +++ b/testcases/kernel/containers/mountns/mountns03.c
> @@ -97,6 +97,8 @@ static void run(void)
>
> TST_CHECKPOINT_WAKE(0);
>
> + SAFE_WAIT(NULL);
> +
> SAFE_UMOUNT(DIRA);
> }
>
More information about the ltp
mailing list