#!/bin/bash

set -eu

directory="/lmn/vm"

if [ ! -d "$directory" ]; then
  echo "No VM directory found."
  exit 1
fi

qcow2_files=("$directory"/*.qcow2)

if [ "${#qcow2_files[@]}" -eq 0 ]; then
  echo "Keine QCOW2-Dateien gefunden."
  exit 0
fi

echo "Gefundene QCOW2-Dateien:"
echo "-------------------------------------------------------------"
printf "%-50s %10s\n" "Datei" "Größe (MB)"
echo "-------------------------------------------------------------"

for file in "${qcow2_files[@]}"; do
  size=$(du -m "$file" | cut -f1) # Größe in MB
  printf "%-50s %10d\n" "$file" "$size"
done

echo "-------------------------------------------------------------"

for file in "${qcow2_files[@]}"; do
  read -rp "Möchtest du die Datei $file löschen? (j/n) " confirmation
  if [[ "$confirmation" == "j" || "$confirmation" == "J" ]]; then
    link_count=$(stat -c %h "$file")
    rm "$file"
    echo "$file wurde gelöscht."
    if [ "$link_count" -gt 1 ]; then
      echo "Achtung: $file hat noch $((link_count - 1)) weitere Hardlinks."
      echo "Diese liegen evtl. unter:"
      echo "- /var/tmp/${UID}/vm/ (temporäre VMs, werden automatisch beim Neustart gelöscht)"
      echo "- /var/vm/${UID}/ (persistente VMs)"
    fi
    echo
  fi
done
