Cleanup the build directories earlier

Split the cleanup_dirs function in two, i.e. cleanup of the build dir
and the image dir, and use the former to cleanup the temporary build
subdirs after their unmount, before the conversion to other disk
formats; they are not needed anyway at that point, and allows to save
disk space during the conversion phase.

Change-Id: Ie30d7e6033613d6979148423326ae7e17a7342e7
This commit is contained in:
Pino Toscano 2015-06-04 10:46:18 +02:00
parent 8fd7fd9e0a
commit 987a832351
3 changed files with 17 additions and 7 deletions

View file

@ -274,7 +274,10 @@ for X in ${!IMAGE_TYPES[@]} ; do
fi
done
# Unmount and cleanup the /mnt and /build subdirectories, to save
# space before converting the image to some other format.
unmount_image
cleanup_build_dir
has_raw_type=
if [ "$IS_RAMDISK" == "0" ]; then
@ -292,9 +295,8 @@ if [ -n "$has_raw_type" ]; then
compress_and_save_image $IMAGE_NAME.$IMAGE_TYPE
fi
# Always cleanup after ourselves
rm -f $TMP_IMAGE_PATH
cleanup_dirs
# Remove the leftovers, i.e. the temporary image directory.
cleanup_image_dir
case "$IMAGE_ELEMENT" in
*ironic-agent*)

View file

@ -142,13 +142,20 @@ function mount_qcow_image() {
fi
}
function cleanup_dirs () {
function cleanup_build_dir () {
sudo rm -rf $TMP_BUILD_DIR/built
sudo rm -rf $TMP_BUILD_DIR/mnt
if tmpfs_check 0; then
sudo umount -f $TMP_BUILD_DIR $TMP_IMAGE_DIR || true
sudo umount -f $TMP_BUILD_DIR || true
fi
rm -rf --one-file-system $TMP_BUILD_DIR $TMP_IMAGE_DIR
rm -rf --one-file-system $TMP_BUILD_DIR
}
function cleanup_image_dir () {
if tmpfs_check 0; then
sudo umount -f $TMP_IMAGE_DIR || true
fi
rm -rf --one-file-system $TMP_IMAGE_DIR
}
# Run a directory of hooks outside the target (that is, no chrooting).

View file

@ -36,7 +36,8 @@ function trap_cleanup() {
function cleanup () {
unmount_image
cleanup_dirs
cleanup_build_dir
cleanup_image_dir
}
function ensure_nbd () {