From: Serge Hallyn Date: Wed, 24 Apr 2013 20:16:21 +0000 (-0500) Subject: lxc-create: cleanup whenever exiting with error X-Git-Tag: lxc-1.0.0.alpha1~1^2~265 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=4fa22bfca1e94393aa3fbdc3fdf5516e75d47521;p=thirdparty%2Flxc.git lxc-create: cleanup whenever exiting with error Otherwise we leave bad containers sitting around and further confuse things on retries. Reported-by: Mukanyiligira Didacienne Signed-off-by: Serge Hallyn Acked-by: Stéphane Graber --- diff --git a/src/lxc/lxc-create.in b/src/lxc/lxc-create.in index fbb566f63..553ffd271 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