mirror of
https://github.com/linux-apfs/apfstests.git
synced 2026-05-01 15:01:44 -07:00
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.
This commit is contained in:
@@ -65,9 +65,10 @@ do
|
|||||||
preargs="" # for any special pre-device options
|
preargs="" # for any special pre-device options
|
||||||
postargs="" # for any special post-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 = minix ] && postargs=2000
|
||||||
[ $fs = msdos ] && postargs=2000
|
[ $fs = msdos ] && postargs=2000
|
||||||
|
[ $fs = vfat ] && postargs=2000
|
||||||
# these folks prompt before writing
|
# these folks prompt before writing
|
||||||
[ $fs = jfs ] && preop="echo Y |"
|
[ $fs = jfs ] && preop="echo Y |"
|
||||||
[ $fs = reiserfs ] && preop="echo y |"
|
[ $fs = reiserfs ] && preop="echo y |"
|
||||||
|
|||||||
@@ -69,6 +69,7 @@ rm -f $seq.full
|
|||||||
|
|
||||||
_require_scratch
|
_require_scratch
|
||||||
_require_quota
|
_require_quota
|
||||||
|
_require_nobody
|
||||||
|
|
||||||
# setup a default run
|
# setup a default run
|
||||||
if [ -z "$MOUNT_OPTIONS" ]; then
|
if [ -z "$MOUNT_OPTIONS" ]; then
|
||||||
|
|||||||
@@ -55,6 +55,7 @@ _supported_fs xfs
|
|||||||
_supported_os Linux #IRIX
|
_supported_os Linux #IRIX
|
||||||
_require_scratch
|
_require_scratch
|
||||||
_require_quota
|
_require_quota
|
||||||
|
_require_prjquota
|
||||||
|
|
||||||
# real QA test starts here
|
# real QA test starts here
|
||||||
_scratch_mkfs_xfs | _filter_mkfs 2>$tmp.mkfs
|
_scratch_mkfs_xfs | _filter_mkfs 2>$tmp.mkfs
|
||||||
|
|||||||
@@ -67,6 +67,7 @@ _supported_fs xfs
|
|||||||
_supported_os Linux #IRIX
|
_supported_os Linux #IRIX
|
||||||
_require_scratch
|
_require_scratch
|
||||||
_require_quota
|
_require_quota
|
||||||
|
_require_prjquota
|
||||||
|
|
||||||
# real QA test starts here
|
# real QA test starts here
|
||||||
_scratch_mkfs_xfs | _filter_mkfs 2>$tmp.mkfs
|
_scratch_mkfs_xfs | _filter_mkfs 2>$tmp.mkfs
|
||||||
|
|||||||
@@ -64,6 +64,7 @@ _supported_fs xfs
|
|||||||
_supported_os Linux #IRIX
|
_supported_os Linux #IRIX
|
||||||
_require_scratch
|
_require_scratch
|
||||||
_require_quota
|
_require_quota
|
||||||
|
_require_prjquota
|
||||||
|
|
||||||
test_files()
|
test_files()
|
||||||
{
|
{
|
||||||
|
|||||||
+23
-4
@@ -44,6 +44,27 @@ _require_quota()
|
|||||||
[ -x /usr/sbin/xfs_quota ] || _notrun "Quota user tools not installed"
|
[ -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)
|
# create a file as a specific user (uid)
|
||||||
# takes filename, id, type (u/g), blocksize, blockcount
|
# takes filename, id, type (u/g), blocksize, blockcount
|
||||||
#
|
#
|
||||||
@@ -78,14 +99,12 @@ EOF
|
|||||||
|
|
||||||
_choose_uid()
|
_choose_uid()
|
||||||
{
|
{
|
||||||
perl -ne '@a = split(/:/); END { printf "id=%d name=%s\n", $a[2],$a[0] }' \
|
grep '^nobody' /etc/passwd | perl -ne '@a = split(/:/); END { printf "id=%d name=%s\n", $a[2],$a[0] }'
|
||||||
/etc/passwd
|
|
||||||
}
|
}
|
||||||
|
|
||||||
_choose_gid()
|
_choose_gid()
|
||||||
{
|
{
|
||||||
perl -ne '@a = split(/:/); END { printf "id=%d name=%s\n", $a[2],$a[0] }' \
|
grep '^nobody' /etc/group | perl -ne '@a = split(/:/); END { printf "id=%d name=%s\n", $a[2],$a[0] }'
|
||||||
/etc/group
|
|
||||||
}
|
}
|
||||||
|
|
||||||
_choose_prid()
|
_choose_prid()
|
||||||
|
|||||||
Reference in New Issue
Block a user