[Lxc-users] [PATCH 3/3] if after freezing the container the snapshot/rsync fails, unfreeze before exiting
InformatiQ
rhanna at informatiq.org
Tue Aug 30 09:14:58 UTC 2011
Signed-off-by: InformatiQ <rhanna at informatiq.org>
---
src/lxc/lxc-clone.in | 14 ++++++++++++--
1 files changed, 12 insertions(+), 2 deletions(-)
diff --git a/src/lxc/lxc-clone.in b/src/lxc/lxc-clone.in
index bc1af60..6cca6c0 100755
--- 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
--
1.7.6
More information about the lxc-users
mailing list