[PATCH] xfstest generic/280: wait for setquota to finish before umount
Eric Sandeen
sandeen at sandeen.net
Thu Nov 14 12:59:56 CST 2013
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 at oracle.com>
> Signed-off-by: Guangyu Sun <guangyu.sun at oracle.com>
Wanted to make sure the sleep didn't disturb the deadlock it's testing,
and it doesn't. So:
Reviewed-by: Eric Sandeen <sandeen at redaht.com>
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.
>
More information about the xfs
mailing list