+guestfish
[nethome.git] / bin / qemu-img-recompress
1 #! /bin/sh
2 renice 20 -p $$
3 for file in "$@";do
4         if [ "$file" = "${file%.qcow2}" ];then
5                 echo >&2 "Invalid: <$file>"
6                 exit 1
7         fi
8 done
9 for file in "$@";do
10         ls -l "$file"
11         du -sh "$file"
12         set -xe
13         mv -i "$file" "$file"-src
14         rm -f "$file"-dest
15         test "$(guestfish -n -a "$file"-src run : list-devices : list-partitions|tr '\n' ' ')" = "/dev/vda /dev/vda1 "
16         guestfish -n -a "$file"-src run : zerofree /dev/vda1
17         time qemu-img convert -c -f qcow2 "$file"-src -O qcow2 "$file"-dest
18         mv -i "$file"-dest "$file"
19         rm -f "$file"-src
20         set +xe
21         ls -l "$file"
22         du -sh "$file"
23 done
24 echo done