Chromium Code Reviews| Index: chromeos-setimage |
| diff --git a/chromeos-setimage b/chromeos-setimage |
| index d1be3321a64ccc6f4ffdede1fba95268a1ac3457..162170be369976e52ce91f40e32dd6196964ef9d 100755 |
| --- a/chromeos-setimage |
| +++ b/chromeos-setimage |
| @@ -113,21 +113,29 @@ ESP_LOOP= |
| ROOT_LOOP= |
| KERN_LOOP= |
| +# Cleans up a device and unmount if required. |
| cleanup_loop() { |
| local dev="$1" |
| + local need_umount="$2" |
| if [ -z "$dev" ]; then |
| return 0 |
| fi |
| - (sudo umount "$dev" || true) |
| - (sudo losetup -d "$dev" || true) |
| + if [ "$need_umount" = ${FLAGS_TRUE} ]; then |
|
Will Drewry
2010/11/23 01:36:50
nit: FLAGS_TRUE/FALSE is normally checked with -eq
Hung-Te
2010/11/23 02:14:52
Done.
|
| + sudo umount -d "$dev" || true |
| + elif [ "$need_umount" = ${FLAGS_FALSE} ]; then |
| + sudo losetup -d "$dev" || true |
| + else |
| + echo "INTERNAL ERROR: unknown parameter for cleanup_loop: $need_umount" >&2 |
| + fi |
| } |
| cleanup() { |
| - cleanup_loop "${ESP_LOOP}" |
| + # Currently only ESP may be mounted. KERN and ROOT are never mounted. |
| + cleanup_loop "${ESP_LOOP}" "${FLAGS_TRUE}" |
| ESP_LOOP= |
| - cleanup_loop "${KERN_LOOP}" |
| + cleanup_loop "${KERN_LOOP}" "${FLAGS_FALSE}" |
| KERN_LOOP= |
| - cleanup_loop "${ROOT_LOOP}" |
| + cleanup_loop "${ROOT_LOOP}" "${FLAGS_FALSE}" |
| ROOT_LOOP= |
| # Failing to clean this up isn't the worst. |