mod_image_for_recovery: log mounts and loopdevs.

We have problems with loopdev leaks occasionally (see crosbug.com/16651); this
will help us figure out what we're leaking and to whom.

BUG=chromium-os:16651
TEST=build,mod_image_for_recovery

Change-Id: I12ae1fe433f54ffee0ec18bf1ce4db111b53f13d
Signed-off-by: Elly Jones <ellyjones@chromium.org>
Reviewed-on: http://gerrit.chromium.org/gerrit/10301
This commit is contained in:
Elly Jones 2011-10-19 11:37:46 -04:00 committed by Gerrit
parent 328b9eab02
commit fa5b8ff89f

View File

@ -131,6 +131,7 @@ create_recovery_kernel_image() {
-o $((root_offset * 512)) \ -o $((root_offset * 512)) \
--sizelimit $((root_size * 512)) \ --sizelimit $((root_size * 512)) \
"$FLAGS_image") "$FLAGS_image")
echo "16651 root_dev: $root_dev"
trap "sudo losetup -d $root_dev" EXIT trap "sudo losetup -d $root_dev" EXIT
cros_root="PARTUUID=%U/PARTNROFF=1" # only used for non-verified images cros_root="PARTUUID=%U/PARTNROFF=1" # only used for non-verified images
@ -185,6 +186,8 @@ create_recovery_kernel_image() {
--nouse_dev_keys \ --nouse_dev_keys \
${verity_args} 1>&2 || failboat "build_kernel_image" ${verity_args} 1>&2 || failboat "build_kernel_image"
sudo rm "$FLAGS_rootfs_hash" sudo rm "$FLAGS_rootfs_hash"
sudo mount | sed 's/^/16651 /'
sudo losetup -a | sed 's/^/16651 /'
sudo losetup -d "$root_dev" sudo losetup -d "$root_dev"
trap - RETURN trap - RETURN
@ -199,7 +202,9 @@ create_recovery_kernel_image() {
"$FLAGS_image") "$FLAGS_image")
local efi_dir=$(mktemp -d) local efi_dir=$(mktemp -d)
trap "sudo losetup -d $efi_dev && rmdir \"$efi_dir\"" EXIT trap "sudo losetup -d $efi_dev && rmdir \"$efi_dir\"" EXIT
echo "16651 mount: $efi_dev -> $efi_dir"
sudo mount "$efi_dev" "$efi_dir" sudo mount "$efi_dev" "$efi_dir"
sudo mount | sed 's/^/16651 /'
sudo sed -i -e "s/cros_legacy/cros_legacy kern_b_hash=$kern_hash/g" \ sudo sed -i -e "s/cros_legacy/cros_legacy kern_b_hash=$kern_hash/g" \
"$efi_dir/syslinux/usb.A.cfg" || true "$efi_dir/syslinux/usb.A.cfg" || true
# This will leave the hash in the kernel for all boots, but that should be # This will leave the hash in the kernel for all boots, but that should be
@ -207,6 +212,7 @@ create_recovery_kernel_image() {
sudo sed -i -e "s/cros_efi/cros_efi kern_b_hash=$kern_hash/g" \ sudo sed -i -e "s/cros_efi/cros_efi kern_b_hash=$kern_hash/g" \
"$efi_dir/efi/boot/grub.cfg" || true "$efi_dir/efi/boot/grub.cfg" || true
sudo umount "$efi_dir" sudo umount "$efi_dir"
sudo losetup -a | sed 's/^/16651 /'
sudo losetup -d "$efi_dev" sudo losetup -d "$efi_dev"
rmdir "$efi_dir" rmdir "$efi_dir"
trap - EXIT trap - EXIT