diff --git a/boxes/common/lxc-template b/boxes/common/lxc-template index a9318d1..b420c2a 100755 --- a/boxes/common/lxc-template +++ b/boxes/common/lxc-template @@ -106,8 +106,24 @@ fi # Unpack the rootfs echo "Unpacking the rootfs" -mkdir -p ${LXC_ROOTFS} -(cd ${LXC_ROOTFS} && tar xfz ${LXC_TARBALL} --strip-components=2) + +( + flock -x 200 + if [ $? -ne 0 ]; then + echo "Cache repository is busy." + return 1 + fi + + mkdir -p ${LXC_ROOTFS} + (cd ${LXC_ROOTFS} && tar xfz ${LXC_TARBALL} --strip-components=2) + if [ $? -ne 0 ]; then + echo "Failed to extract rootfs" + return 1 + fi + + return 0 + +) 200>/var/lock/subsys/lxc mkdir -p ${LXC_ROOTFS}/dev/pts/