From: Andrew Jones Date: Fri, 8 Jul 2005 15:05:17 +0000 (+0000) Subject: quota and vfat fixes. X-Git-Tag: v1.1.0~708 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=220756b0f31492b092619da4fde9f19e5d1a4852;p=xfstests-dev.git quota and vfat fixes. Merge of master-melb:xfs-cmds:23117a by kenmcd. Added fixed block size for vfat filesystems. Required because mkfs.vfat fails after the super-block is wiped. --- diff --git a/032 b/032 index dbd9fdd2..29ac2db3 100755 --- a/032 +++ b/032 @@ -65,9 +65,10 @@ do preargs="" # for any special pre-device options postargs="" # for any special post-device options - # minix and msdos mkfs fails for large devices, restrict to 2000 blocks + # minix, msdos and vfat mkfs fails for large devices, restrict to 2000 blocks [ $fs = minix ] && postargs=2000 [ $fs = msdos ] && postargs=2000 + [ $fs = vfat ] && postargs=2000 # these folks prompt before writing [ $fs = jfs ] && preop="echo Y |" [ $fs = reiserfs ] && preop="echo y |" diff --git a/052 b/052 index 51c52d25..c336eee4 100755 --- a/052 +++ b/052 @@ -69,6 +69,7 @@ rm -f $seq.full _require_scratch _require_quota +_require_nobody # setup a default run if [ -z "$MOUNT_OPTIONS" ]; then diff --git a/106 b/106 index 2a3cfaeb..75ff2d7f 100755 --- a/106 +++ b/106 @@ -55,6 +55,7 @@ _supported_fs xfs _supported_os Linux #IRIX _require_scratch _require_quota +_require_prjquota # real QA test starts here _scratch_mkfs_xfs | _filter_mkfs 2>$tmp.mkfs diff --git a/107 b/107 index f3ac2abd..4f3df668 100755 --- a/107 +++ b/107 @@ -67,6 +67,7 @@ _supported_fs xfs _supported_os Linux #IRIX _require_scratch _require_quota +_require_prjquota # real QA test starts here _scratch_mkfs_xfs | _filter_mkfs 2>$tmp.mkfs diff --git a/108 b/108 index 20fbaf8d..0017ad86 100755 --- a/108 +++ b/108 @@ -64,6 +64,7 @@ _supported_fs xfs _supported_os Linux #IRIX _require_scratch _require_quota +_require_prjquota test_files() { diff --git a/common.quota b/common.quota index 3814974c..f772c2b2 100644 --- a/common.quota +++ b/common.quota @@ -44,6 +44,27 @@ _require_quota() [ -x /usr/sbin/xfs_quota ] || _notrun "Quota user tools not installed" } +# +# checks that the XFS project quota support in the kernel is enabled. +# +_require_prjquota() +{ + src/feature -p $TEST_DEV + [ $? -ne 0 ] && _notrun "Installed kernel does not support XFS project quotas" +} + +# +# checks for user nobody in /etc/passwd and /etc/group. +# +_require_nobody() +{ + grep -q '^nobody' /etc/passwd + [ $? -ne 0 ] && _notrun "/etc/passwd does not contain user nobody." + + grep -q '^nobody' /etc/group + [ $? -ne 0 ] && _notrun "/etc/group does not contain user nobody." +} + # create a file as a specific user (uid) # takes filename, id, type (u/g), blocksize, blockcount # @@ -78,14 +99,12 @@ EOF _choose_uid() { - perl -ne '@a = split(/:/); END { printf "id=%d name=%s\n", $a[2],$a[0] }' \ - /etc/passwd + grep '^nobody' /etc/passwd | perl -ne '@a = split(/:/); END { printf "id=%d name=%s\n", $a[2],$a[0] }' } _choose_gid() { - perl -ne '@a = split(/:/); END { printf "id=%d name=%s\n", $a[2],$a[0] }' \ - /etc/group + grep '^nobody' /etc/group | perl -ne '@a = split(/:/); END { printf "id=%d name=%s\n", $a[2],$a[0] }' } _choose_prid()