mirror of
https://github.com/linux-apfs/apfstests.git
synced 2026-05-01 15:01:44 -07:00
check: Allow to recreate TEST_DEV
Add config option RECREATE_TEST_DEV to allow to recreate file system on the TEST_DEV device. Permitted values are true and false. If RECREATE_TEST_DEV is set to true the TEST_DEV device will be unmounted and FSTYP file system will be created on it. Afterwards it will be mounted to TEST_DIR again with the default, or specified mount options. Also recreate the file system if FSTYP differs from the previous section. Signed-off-by: Lukas Czerner <lczerner@redhat.com> Reviewed-by: Dave Chinner <dchinner@redhat.com> Signed-off-by: Dave Chinner <david@fromorbit.com>
This commit is contained in:
committed by
Dave Chinner
parent
667308dd97
commit
f8e4f532f1
+106
@@ -83,6 +83,8 @@ export PWD=`pwd`
|
||||
export MALLOCLIB=${MALLOCLIB:=/usr/lib/libefence.a}
|
||||
export LOCAL_CONFIGURE_OPTIONS=${LOCAL_CONFIGURE_OPTIONS:=--enable-readline=yes}
|
||||
|
||||
export RECREATE_TEST_DEV=false
|
||||
|
||||
# $1 = prog to look for, $2* = default pathnames if not found in $PATH
|
||||
set_prog_path()
|
||||
{
|
||||
@@ -215,6 +217,91 @@ case "$HOSTOS" in
|
||||
;;
|
||||
esac
|
||||
|
||||
_mount_opts()
|
||||
{
|
||||
# SELinux adds extra xattrs which can mess up our expected output.
|
||||
# So, mount with a context, and they won't be created
|
||||
# # nfs_t is a "liberal" context so we can use it.
|
||||
if [ -x /usr/sbin/selinuxenabled ] && /usr/sbin/selinuxenabled; then
|
||||
SELINUX_MOUNT_OPTIONS="-o context=system_u:object_r:nfs_t:s0"
|
||||
export SELINUX_MOUNT_OPTIONS
|
||||
fi
|
||||
|
||||
case $FSTYP in
|
||||
xfs)
|
||||
export MOUNT_OPTIONS=$XFS_MOUNT_OPTIONS
|
||||
;;
|
||||
udf)
|
||||
export MOUNT_OPTIONS=$UDF_MOUNT_OPTIONS
|
||||
;;
|
||||
nfs)
|
||||
export MOUNT_OPTIONS=$NFS_MOUNT_OPTIONS
|
||||
;;
|
||||
ext2|ext3|ext4|ext4dev)
|
||||
# acls & xattrs aren't turned on by default on ext$FOO
|
||||
export MOUNT_OPTIONS="-o acl,user_xattr $EXT_MOUNT_OPTIONS"
|
||||
;;
|
||||
reiserfs)
|
||||
# acls & xattrs aren't turned on by default on reiserfs
|
||||
export MOUNT_OPTIONS="-o acl,user_xattr $REISERFS_MOUNT_OPTIONS"
|
||||
;;
|
||||
gfs2)
|
||||
# acls aren't turned on by default on gfs2
|
||||
export MOUNT_OPTIONS="-o acl $GFS2_MOUNT_OPTIONS"
|
||||
;;
|
||||
*)
|
||||
;;
|
||||
esac
|
||||
}
|
||||
|
||||
_mkfs_opts()
|
||||
{
|
||||
case $FSTYP in
|
||||
xfs)
|
||||
export MKFS_OPTIONS=$XFS_MKFS_OPTIONS
|
||||
;;
|
||||
udf)
|
||||
[ ! -z "$udf_fsize" ] && \
|
||||
UDF_MKFS_OPTIONS="$UDF_MKFS_OPTIONS -s $udf_fsize"
|
||||
export MKFS_OPTIONS=$UDF_MKFS_OPTIONS
|
||||
;;
|
||||
nfs)
|
||||
export MKFS_OPTIONS=$NFS_MKFS_OPTIONS
|
||||
;;
|
||||
reiserfs)
|
||||
export MKFS_OPTIONS="$REISERFS_MKFS_OPTIONS -q"
|
||||
;;
|
||||
gfs2)
|
||||
export MKFS_OPTIONS="$GFS2_MKFS_OPTIONS -O -p lock_nolock"
|
||||
;;
|
||||
jfs)
|
||||
export MKFS_OPTIONS="$JFS_MKFS_OPTIONS -q"
|
||||
;;
|
||||
*)
|
||||
;;
|
||||
esac
|
||||
}
|
||||
|
||||
_fsck_opts()
|
||||
{
|
||||
case $FSTYP in
|
||||
ext2|ext3|ext4|ext4dev)
|
||||
export FSCK_OPTIONS="-nf"
|
||||
;;
|
||||
reiserfs)
|
||||
export FSCK_OPTIONS="--yes"
|
||||
;;
|
||||
*)
|
||||
export FSCK_OPTIONS="-n"
|
||||
;;
|
||||
esac
|
||||
}
|
||||
|
||||
[ -z "$FSTYP" ] && export FSTYP=xfs
|
||||
[ -z "$MOUNT_OPTIONS" ] && _mount_opts
|
||||
[ -z "$MKFS_OPTIONS" ] && _mkfs_opts
|
||||
[ -z "$FSCK_OPTIONS" ] && _fsck_opts
|
||||
|
||||
known_hosts()
|
||||
{
|
||||
[ "$HOST_CONFIG_DIR" ] || HOST_CONFIG_DIR=`pwd`/configs
|
||||
@@ -273,8 +360,27 @@ parse_config_section() {
|
||||
}
|
||||
|
||||
get_next_config() {
|
||||
local OLD_FSTYP=$FSTYP
|
||||
local OLD_MOUNT_OPTIONS=$MOUNT_OPTIONS
|
||||
local OLD_MKFS_OPTIONS=$MKFS_OPTIONS
|
||||
local OLD_FSCK_OPTIONS=$FSCK_OPTIONS
|
||||
|
||||
unset MOUNT_OPTIONS
|
||||
unset MKFS_OPTIONS
|
||||
unset FSCK_OPTIONS
|
||||
|
||||
parse_config_section $1
|
||||
|
||||
if [ -n "$OLD_FSTYP" ] && [ $OLD_FSTYP != $FSTYP ]; then
|
||||
[ -z "$MOUNT_OPTIONS" ] && _mount_opts
|
||||
[ -z "$MKFS_OPTIONS" ] && _mkfs_opts
|
||||
[ -z "$FSCK_OPTIONS" ] && _fsck_opts
|
||||
else
|
||||
[ -z "$MOUNT_OPTIONS" ] && export MOUNT_OPTIONS=$OLD_MOUNT_OPTIONS
|
||||
[ -z "$MKFS_OPTIONS" ] && export MKFS_OPTIONS=$OLD_MKFS_OPTIONS
|
||||
[ -z "$FSCK_OPTIONS" ] && export FSCK_OPTIONS=$OLD_FSCK_OPTIONS
|
||||
fi
|
||||
|
||||
# set default RESULT_BASE
|
||||
if [ -z "$RESULT_BASE" ]; then
|
||||
export RESULT_BASE="$here/results/"
|
||||
|
||||
Reference in New Issue
Block a user