# Copyright (c) 2010 The Chromium OS Authors. All rights reserved.
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.
#
# Force cleans loopback devices from within your chroot environment.  This
# script is to help mitigate losing loopback devices on build_images
# failures.  This script only affects mountpoints and loopback devices
# that were created within this chroot.

# Load common constants.  This should be the first executable line.
# The path to common.sh should be relative to your script's location.
. "$(dirname "$0")/common.sh"

# Script must be run inside the chroot.
assert_inside_chroot

DEFINE_string output_root "$DEFAULT_BUILD_ROOT/images" \
  "Directory in which to place image result directories (named by version)"
DEFINE_string board "$DEFAULT_BOARD" \
  "The board to build an image for."

OUTPUT_DIR="${FLAGS_output_root}/${FLAGS_board}"

echo "This will unmount any directory under $OUTPUT_DIR:"
read -p "Are you sure (y/N)? " SURE
SURE="${SURE:0:1}" # Get just the first character
if [ "${SURE}" != "y" ]
then
  echo "Ok, better safe than sorry."
  exit 1
fi

sudo umount "$OUTPUT_DIR"/*/* 2> /dev/null
sudo losetup -d /dev/loop* 2> /dev/null
