2017-10-17 18:59:36 +00:00
|
|
|
#!/usr/bin/env bash
|
2022-11-02 15:49:40 +00:00
|
|
|
# SPDX-License-Identifier: BSD-3-Clause
|
|
|
|
# Copyright (C) 2017 Intel Corporation
|
|
|
|
# All rights reserved.
|
|
|
|
#
|
2018-03-07 18:46:11 +00:00
|
|
|
set -xe
|
2019-05-10 17:54:24 +00:00
|
|
|
|
|
|
|
testdir=$(readlink -f $(dirname $0))
|
2017-10-17 18:59:36 +00:00
|
|
|
|
|
|
|
disk_name="vda"
|
|
|
|
test_folder_name="readonly_test"
|
|
|
|
test_file_name="some_test_file"
|
|
|
|
|
2020-05-07 11:27:06 +00:00
|
|
|
function error() {
|
2017-10-17 18:59:36 +00:00
|
|
|
echo "==========="
|
2019-10-10 09:55:04 +00:00
|
|
|
echo -e "ERROR: $*"
|
2017-10-17 18:59:36 +00:00
|
|
|
echo "==========="
|
|
|
|
trap - ERR
|
|
|
|
set +e
|
|
|
|
umount "$test_folder_name"
|
2019-10-16 08:43:49 +00:00
|
|
|
rm -rf "${testdir:?}/${test_folder_name:?}"
|
2017-10-17 18:59:36 +00:00
|
|
|
exit 1
|
|
|
|
}
|
|
|
|
|
|
|
|
trap 'error "In delete_partition_vm.sh, line:" "${LINENO}"' ERR
|
|
|
|
|
|
|
|
if [[ ! -d "/sys/block/$disk_name" ]]; then
|
|
|
|
error "No vhost-blk disk found!"
|
|
|
|
fi
|
|
|
|
|
2020-05-07 11:27:06 +00:00
|
|
|
if (($(lsblk -r -n -o RO -d "/dev/$disk_name") == 1)); then
|
2017-10-17 18:59:36 +00:00
|
|
|
error "Vhost-blk disk is set as readonly!"
|
|
|
|
fi
|
|
|
|
|
|
|
|
mkdir -p $test_folder_name
|
|
|
|
|
|
|
|
echo "INFO: Mounting disk"
|
|
|
|
mount /dev/$disk_name"1" $test_folder_name
|
|
|
|
|
|
|
|
echo "INFO: Removing folder and unmounting $test_folder_name"
|
|
|
|
umount "$test_folder_name"
|
2019-10-16 08:43:49 +00:00
|
|
|
rm -rf "${testdir:?}/${test_folder_name:?}"
|
2017-10-17 18:59:36 +00:00
|
|
|
|
|
|
|
echo "INFO: Deleting partition"
|
2021-04-12 10:20:36 +00:00
|
|
|
# Zap the entire drive to make sure the partition table is removed as well
|
|
|
|
wipefs --all "/dev/$disk_name"
|