From: Marco Amadori Date: Tue, 16 Sep 2008 09:35:01 +0000 (+0200) Subject: Fixed try_snap() umounting on error. X-Git-Tag: debian/2.0.15-1~433 X-Git-Url: http://git.grml.org/?a=commitdiff_plain;h=bc58aa7cd360609e2f52c5db14e87056a12937d8;p=live-boot-grml.git Fixed try_snap() umounting on error. --- diff --git a/scripts/live b/scripts/live index 9f16749..572b367 100755 --- a/scripts/live +++ b/scripts/live @@ -889,30 +889,35 @@ try_snap () if [ ! -z "${snapdata}" ] then + log_success_msg "found snapshot: ${snapdata}" snapdev="$(echo ${snapdata} | cut -f1 -d ' ')" snapback="$(echo ${snapdata} | cut -f2 -d ' ')" snapfile="$(echo ${snapdata} | cut -f3 -d ' ')" + RES="" + if echo "${snapfile}" | grep -qs '\(squashfs\|ext2\|ext3\|jffs2\)' then # squashfs, jffs2 or ext2/ext3 snapshot dev=$(get_backing_device "${snapback}/${snapfile}") - if ! do_snap_copy "${dev}" "${snap_mount}" "${snap_type}" - then - log_warning_msg "Impossible to include the ${snapfile} Snapshot" - return 1 - fi + do_snap_copy "${dev}" "${snap_mount}" "${snap_type}" + RES=$? else # cpio.gz snapshot - if ! (cd "${snap_mount}" && zcat "${snapback}/${snapfile}" | cpio --extract --preserve-modification-time --no-absolute-filenames --sparse --unconditional --make-directories > /dev/null 2>&1) - then - log_warning_msg "Impossible to include the ${snapfile} Snapshot" - return 1 - fi + cd "${snap_mount}" + zcat "${snapback}/${snapfile}" | cpio --extract --preserve-modification-time --no-absolute-filenames --sparse --unconditional --make-directories > /dev/null 2>&1 + RES=$? + cd "${OLDPWD}" fi umount "${snapback}" + + if [ "${RES}" != "0" ] + then + log_warning_msg "Impossible to include the ${snapfile} Snapshot file" + fi + else dev=$(find_cow_device "${snap_label}")