From 14c0fe24889027b74a50a22eab30aeac25e7c6db Mon Sep 17 00:00:00 2001 From: Tomasz Zawadzki Date: Tue, 25 Jan 2022 11:53:49 +0100 Subject: [PATCH] vagrant: preallocate nvme images by default Added preallocation option for raw NVMe disk images. It matches qemu-img option for raw images. By default raw images are created with "off" option, resulting in increased size of the disk image as it is used. Using "falloc" option preallocates the full size of the disk, but does not write zeroes to it, compared to "full" option. This will make sure that in CI, a device used during test is never exhaused due to lack of host space. Signed-off-by: Tomasz Zawadzki Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/11243 (master) (cherry picked from commit 7d97822f17bafa80edf18a278804a7b019cbc413) Change-Id: Ie1c30909dc87552a6d6c385d0ad80905ce68ff9d Signed-off-by: Krzysztof Karas Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/11336 Reviewed-by: Tomasz Zawadzki Reviewed-by: Konrad Sztyber Tested-by: SPDK CI Jenkins --- scripts/vagrant/create_nvme_img.sh | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/scripts/vagrant/create_nvme_img.sh b/scripts/vagrant/create_nvme_img.sh index 394f4b7fc9..6885cc2a8d 100755 --- a/scripts/vagrant/create_nvme_img.sh +++ b/scripts/vagrant/create_nvme_img.sh @@ -2,6 +2,7 @@ SYSTEM=$(uname -s) size="1024M" nvme_disk="/var/lib/libvirt/images/nvme_disk.img" +preallocation="falloc" function usage() { echo "Usage: ${0##*/} [-s ] [-n ]" @@ -9,9 +10,11 @@ function usage() { echo " for OCSSD default: 9G" echo "-n backing file path with name" echo " default: /var/lib/libvirt/images/nvme_disk.img" + echo "-p allowed values:[off, falloc, full]" + echo " default: falloc" } -while getopts "s:n:t:h-:" opt; do +while getopts "s:n:p:t:h-:" opt; do case "${opt}" in -) echo " Invalid argument: $OPTARG" @@ -24,6 +27,9 @@ while getopts "s:n:t:h-:" opt; do n) nvme_disk=$OPTARG ;; + p) + preallocation=$OPTARG + ;; h) usage exit 0 @@ -42,7 +48,7 @@ if [ "${SYSTEM}" != "Linux" ]; then fi WHICH_OS=$(lsb_release -i | awk '{print $3}') -qemu-img create -f raw "$nvme_disk" $size +qemu-img create -f raw "$nvme_disk" -o preallocation="$preallocation" $size case $WHICH_OS in "Fedora")