[lxc-devel] [PATCH 1/1] lxc-create: cleanup whenever exiting with error

Serge Hallyn serge.hallyn at ubuntu.com
Wed Apr 24 20:16:21 UTC 2013


Otherwise we leave bad containers sitting around and further confuse
things on retries.

Reported-by: Mukanyiligira Didacienne <siyana223 at gmail.com>
Signed-off-by: Serge Hallyn <serge.hallyn at ubuntu.com>
---
 src/lxc/lxc-create.in | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/src/lxc/lxc-create.in b/src/lxc/lxc-create.in
index fbb566f..553ffd2 100644
--- a/src/lxc/lxc-create.in
+++ b/src/lxc/lxc-create.in
@@ -286,7 +286,7 @@ fi
 
 if [ ! -r "$lxc_config" ]; then
     echo "$(basename $0): '$lxc_config' configuration file not found" >&2
-    exit 1
+    cleanup
 fi
 
 if [ ! -z "$lxc_template" ]; then
@@ -317,11 +317,11 @@ echo "" >> $lxc_path/$lxc_name/config
 if [ -n "$custom_rootfs" ]; then
     if grep -q "lxc.rootfs" $lxc_path/$lxc_name/config ; then
         echo "configuration file already specifies a lxc.rootfs"
-        exit 1
+        cleanup
     fi
     if [ -d "$custom_rootfs" ]; then
         echo "specified rootfs ($custom_rootfs) already exists.  Bailing."
-        exit 1
+        cleanup
     fi
     echo "lxc.rootfs = $custom_rootfs" >> $lxc_path/$lxc_name/config
 fi
@@ -329,9 +329,9 @@ fi
 # Create the fs as needed
 if [ "$backingstore" = "lvm" ]; then
     [ -d "$rootfs" ] || mkdir $rootfs
-    lvcreate -L $fssize -n $lvname $vgname || exit 1
+    lvcreate -L $fssize -n $lvname $vgname || cleanup
     udevadm settle
-    mkfs -t $fstype $rootdev || exit 1
+    mkfs -t $fstype $rootdev || cleanup
     mount -t $fstype $rootdev $rootfs
 fi
 
-- 
1.8.1.2





More information about the lxc-devel mailing list