From 55f2b7e29f9165280a4eda1348dca10e8474400b Mon Sep 17 00:00:00 2001 From: Silvio Rhatto Date: Thu, 20 Aug 2020 22:28:49 -0300 Subject: Fix: kvmx_disposable: determine guest name using a sequential suffix --- kvmx | 28 ++++++++++++++++++++++++++-- 1 file changed, 26 insertions(+), 2 deletions(-) diff --git a/kvmx b/kvmx index 8667405..885ebec 100755 --- a/kvmx +++ b/kvmx @@ -2185,8 +2185,32 @@ function kvmx_create { # Disposable guest function kvmx_disposable { - local date="`date +%Y%m%d%I%M%S`" - local disposable="$VM-disposable-$date" + # Determine guest name by appending the current date + # This approache leads to the following UNIX socket error + # if the VM name is too long: + # + # UNIX socket path '/var/cache/qemu/.../monitor' is too long + # Path must be less than 108 bytes + # + #local date="`date +%Y%m%d%I%M%S`" + #local disposable="$VM-disposable-$date" + + local disposable="$VM-disposable-" + local count=0 + + # Determine guest name using a sequential suffix + # + # This results in smaller guest names which are les prone to + # the UNIX socket path issue and also is easier to type + while true; do + disposable="${disposable}${count}" + if ! kvmx list_image ${disposable} &> /dev/null; then + break + fi + + echo $count + let count++ + done # Clone and ensure we use a backing file kvmx clone $VM $disposable --skell || exit 1 -- cgit v1.2.3