xfs
[Top] [All Lists]

Re: [PATCH] xfstest generic/280: wait for setquota to finish before umou

To: Guangyu Sun <guangyu.sun@xxxxxxxxxx>, xfs@xxxxxxxxxxx
Subject: Re: [PATCH] xfstest generic/280: wait for setquota to finish before umount
From: Eric Sandeen <sandeen@xxxxxxxxxxx>
Date: Thu, 14 Nov 2013 12:59:56 -0600
Delivered-to: xfs@xxxxxxxxxxx
In-reply-to: <1382637381-4847-1-git-send-email-guangyu.sun@xxxxxxxxxx>
References: <1382637381-4847-1-git-send-email-guangyu.sun@xxxxxxxxxx>
User-agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.9; rv:24.0) Gecko/20100101 Thunderbird/24.1.0
On 10/24/13, 12:56 PM, Guangyu Sun wrote:
> While running xfstest 280, we occasionally got such error:
> 
>   setquota: Cannot set quota for user 0 from kernel on
>   /dev/mapper/xfstests-disk1: No such device
>   setquota: Cannot write quota for 0 on /dev/mapper/xfstests-disk1: No such
>   device
> 
> setquota calls syscall quotactl, and the kernel will wait for the filesystem
> to unfreeze and then performs command. Then kernel will double check if the
> device is still mounted. If not, an ENODEV will be thrown.
> 
> While in the testcase, unfreeze and umount might be so close that the device
> got umounted before quotactl is performed.
> 
> Reported-by: Stanislav Kholmanskikh <stanislav.kholmanskikh@xxxxxxxxxx>
> Signed-off-by: Guangyu Sun <guangyu.sun@xxxxxxxxxx>

Wanted to make sure the sleep didn't disturb the deadlock it's testing,
and it doesn't.  So:

Reviewed-by: Eric Sandeen <sandeen@xxxxxxxxxx>

Thanks,
-Eric

> ---
>  tests/generic/280 |    1 +
>  1 file changed, 1 insertion(+)
> 
> diff --git a/tests/generic/280 b/tests/generic/280
> index 5491a6b..815a2c5 100755
> --- a/tests/generic/280
> +++ b/tests/generic/280
> @@ -63,6 +63,7 @@ xfs_freeze -f $SCRATCH_MNT
>  setquota -u root 1 2 3 4 $SCRATCH_MNT &
>  sleep 1
>  xfs_freeze -u $SCRATCH_MNT
> +sleep 1
>  umount $SCRATCH_DEV
>  
>  # Failure comes in the form of a deadlock.
> 

<Prev in Thread] Current Thread [Next in Thread>