Spdk/test/vhost/readonly/disabled_readonly_vm.sh
Maciej Wawryk f3b3fa7753 test: Shellcheck - correct rule: Use "${var:?}"\
Correct shellcheck rule SC2115: Use "${var:?}" to
ensure this never expands to /* .

Signed-off-by: Maciej Wawryk <maciejx.wawryk@intel.com>
Change-Id: I4a6beef338b7a3c496f1b74a0cdbbdff83403ddc
Reviewed-on: https://review.gerrithub.io/c/spdk/spdk/+/471464
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
Reviewed-by: Shuhei Matsumoto <shuhei.matsumoto.xt@hitachi.com>
Reviewed-by: Jim Harris <james.r.harris@intel.com>
2019-10-24 17:36:52 +00:00

49 lines
1.0 KiB
Bash
Executable File

#!/usr/bin/env bash
set -xe
testdir=$(readlink -f $(dirname $0))
disk_name="vda"
test_folder_name="readonly_test"
test_file_name="some_test_file"
function error()
{
echo "==========="
echo -e "ERROR: $*"
echo "==========="
trap - ERR
set +e
umount "$test_folder_name"
rm -rf "${testdir:?}/${test_folder_name:?}"
exit 1
}
trap 'error "In disabled_readonly_vm.sh, line:" "${LINENO}"' ERR
if [[ ! -d "/sys/block/$disk_name" ]]; then
error "No vhost-blk disk found!"
fi
if (( $(lsblk -r -n -o RO -d "/dev/$disk_name") == 1 )); then
error "Vhost-blk disk is set as readonly!"
fi
parted -s /dev/$disk_name mklabel gpt
parted -s /dev/$disk_name mkpart primary 2048s 100%
partprobe
sleep 0.1
echo "INFO: Creating file system"
mkfs.ext4 -F /dev/$disk_name"1"
echo "INFO: Mounting disk"
mkdir -p $test_folder_name
mount /dev/$disk_name"1" $test_folder_name
echo "INFO: Creating a test file $test_file_name"
truncate -s "200M" $test_folder_name/$test_file_name
umount "$test_folder_name"
rm -rf "${testdir:?}/${test_folder_name:?}"