blob: a6df827d1b42425c26c8fa9d3f5bf75b2f50f94d [file] [log] [blame]
#! /bin/bash
# SPDX-License-Identifier: GPL-2.0
# Copyright (c) 2025 Chao Yu. All Rights Reserved.
#
# FS QA Test No. f2fs/016
#
# This testcase tries to check stability of mount result
# w/ f2fs special mount options and their combination.
#
. ./common/preamble
_begin_fstest auto quick mount
_require_kernel_config CONFIG_F2FS_FS_COMPRESSION
_require_kernel_config CONFIG_F2FS_FS_LZO
_require_kernel_config CONFIG_F2FS_FS_LZORLE
_require_kernel_config CONFIG_F2FS_FS_LZ4
_require_kernel_config CONFIG_F2FS_FS_LZ4HC
_require_kernel_config CONFIG_F2FS_FS_ZSTD
options=(
# mount_option mkfs_option
"inline_xattr_size=400" "extra_attr,flexible_inline_xattr"\
"compress_algorithm=lzo" "extra_attr,compression" \
"compress_algorithm=lz4" "extra_attr,compression" \
"compress_algorithm=zstd" "extra_attr,compression" \
"compress_algorithm=lzo-rle" "extra_attr,compression" \
"compress_algorithm=lz4:3" "extra_attr,compression" \
"compress_algorithm=zstd:1" "extra_attr,compression" \
"compress_log_size=8" "extra_attr,compression" \
"compress_extension=so" "extra_attr,compression" \
"nocompress_extension=so" "extra_attr,compression" \
"nocompress_extension=*" "extra_attr,compression" \
"compress_extension=so,nocompress_extension=so" \
"extra_attr,compression" \
"compress_chksum" "extra_attr,compression" \
"compress_mode=fs" "extra_attr,compression" \
"compress_mode=user" "extra_attr,compression" \
"compress_cache" "extra_attr,compression" \
"test_dummy_encryption" "encrypt" \
"test_dummy_encryption=v1" "encrypt" \
"test_dummy_encryption=v2" "encrypt" \
)
# remove all mkfs/mount options to avoid affecting results
export MKFS_OPTIONS=""
export MOUNT_OPTIONS=""
for ((i=0;i<${#options[@]};i=i+2))
do
echo "Option#$i: ${options[$i]} : ${options[$((i+1))]}"
_scratch_mkfs "-O ${options[$((i+1))]}" >> $seqres.full || _fail "mkfs failed"
_try_scratch_mount "-o ${options[$i]}" >> $seqres.full 2>&1
echo $?
_scratch_unmount >> $seqres.full 2>&1
done
status=0
exit