From: InformatiQ Date: Tue, 30 Aug 2011 22:20:09 +0000 (+0200) Subject: if after freezing the container the snapshot/rsync fails, unfreeze before exiting X-Git-Tag: lxc-0.8.0-rc2~92 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=ac70c6cf97c5d52d4ec4c6bfe9552c1550307966;p=thirdparty%2Flxc.git if after freezing the container the snapshot/rsync fails, unfreeze before exiting Signed-off-by: InformatiQ Signed-off-by: Daniel Lezcano Acked-by: Serge Hallyn --- diff --git a/src/lxc/lxc-clone.in b/src/lxc/lxc-clone.in index e52082d4d..657486dea 100644 --- a/src/lxc/lxc-clone.in +++ b/src/lxc/lxc-clone.in @@ -198,10 +198,15 @@ if [ -b $oldroot ]; then if [ $container_running == "True" ]; then lxc-freeze -n $lxc_orig fi - lvcreate -s -L $lxc_size -n ${lxc_lv_prefix}${lxc_new}_snapshot $oldroot || exit 1 + lvcreate -s -L $lxc_size -n ${lxc_lv_prefix}${lxc_new}_snapshot $oldroot + RETVAL=$? if [ $container_running == "True" ]; then lxc-unfreeze -n $lxc_orig fi + if [ $RETVAL -ne 0 ]; then + echo "snapshot creation failed" + exit 1 + fi if [ $snapshot == "no" ]; then #mount snapshot mkdir -p ${rootfs}_snapshot @@ -231,10 +236,15 @@ else if [ $container_running == True ];then lxc-freeze -n $lxc_orig fi - rsync -ax $lxc_path/$lxc_orig/rootfs $lxc_path/$lxc_new/rootfs || return 1 + rsync -ax $lxc_path/$lxc_orig/rootfs $lxc_path/$lxc_new/rootfs + RETVAL=$? if [ $container_running == True ];then lxc-unfreeze -n $lxc_orig fi + if [ RETVAL -ne 0 ]; then + echo "copying rootfs failed" + exit 1 + fi echo "lxc.rootfs = $rootfs" >> $lxc_path/$lxc_new/config fi