You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

34 lines
722 B

4 years ago
#!/bin/sh -eux
case "$PACKER_BUILDER_TYPE" in
qemu) exit 0 ;;
esac
major_version="`uname -r | awk -F. '{print $1}'`";
if [ "$major_version" -eq 10 ]; then
ZROOT="zroot"
else
ZROOT="zroot/ROOT/default"
fi
COMPRESSION=$(zfs get -H compression $ZROOT | cut -f3);
zfs set compression=off $ZROOT;
dd if=/dev/zero of=/EMPTY bs=1m &
PID=$!;
avail=$(zfs get -pH avail $ZROOT | cut -f3);
while [ "$avail" -ne 0 ]; do
sleep 15;
avail=$(zfs get -pH avail $ZROOT | cut -f3);
done
kill $PID || echo "dd already exited";
rm -f /EMPTY;
# Block until the empty file has been removed, otherwise, Packer
# will try to kill the box while the disk is still full and that's bad
sync;
zfs set compression=$COMPRESSION $ZROOT;