xfstest generic/280: wait for setquota to finish before umount

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@oracle.com>
Signed-off-by: Guangyu Sun <guangyu.sun@oracle.com>
Reviewed-by: Eric Sandeen <sandeen@redaht.com>
Signed-off-by: Rich Johnston <rjohnston@sgi.com>
This commit is contained in:
Guangyu Sun
2013-10-24 17:56:21 +00:00
committed by Rich Johnston
parent 0a7f216b79
commit 527eeb43e5
+1
View File
@@ -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.