1#!/usr/bin/env bash 2 3set -xe 4 5testdir=$(readlink -f $(dirname $0)) 6 7disk_name="vda" 8test_folder_name="readonly_test" 9test_file_name="some_test_file" 10 11function error() { 12 echo "===========" 13 echo -e "ERROR: $*" 14 echo "===========" 15 trap - ERR 16 set +e 17 umount "$test_folder_name" 18 rm -rf "${testdir:?}/${test_folder_name:?}" 19 exit 1 20} 21 22trap 'error "In delete_partition_vm.sh, line:" "${LINENO}"' ERR 23 24if [[ ! -d "/sys/block/$disk_name" ]]; then 25 error "No vhost-blk disk found!" 26fi 27 28if (($(lsblk -r -n -o RO -d "/dev/$disk_name") == 1)); then 29 error "Vhost-blk disk is set as readonly!" 30fi 31 32mkdir -p $test_folder_name 33 34echo "INFO: Mounting disk" 35mount /dev/$disk_name"1" $test_folder_name 36 37echo "INFO: Removing folder and unmounting $test_folder_name" 38umount "$test_folder_name" 39rm -rf "${testdir:?}/${test_folder_name:?}" 40 41echo "INFO: Deleting partition" 42echo -e "d\n1\nw" | fdisk /dev/$disk_name 43