Additional note: I've found the problem manifests more easily with the following modified test script (this one forks all LXC clone/start operations immediately):
test.sh:
#!/usr/bin/env bash
prefix=$1
test -z "${prefix}" && echo 'error: missing required parameter: prefix' 1>&2 && exit 1
path=/mnt/test
sudo lxc-destroy -n c1 2>/dev/null sudo lxc-create -t ubuntu -B btrfs -n c1
for i in `seq 1 20`; do echo $(sudo lxc-clone -s -B btrfs -P $path -o c1 -n $prefix$i; sudo lxc-start -d -n $prefix$i) & done
sleep 10
# Create even more. for i in `seq 21 40`; do echo $(sudo lxc-clone -s -B btrfs -P $path -o c1 -n $prefix$i; sudo lxc-start -d -n $prefix$i) & done
Additional note: I've found the problem manifests more easily with the following modified test script (this one forks all LXC clone/start operations immediately):
test.sh:
#!/usr/bin/env bash
prefix=$1
test -z "${prefix}" && echo 'error: missing required parameter: prefix' 1>&2 && exit 1
path=/mnt/test
sudo lxc-destroy -n c1 2>/dev/null
sudo lxc-create -t ubuntu -B btrfs -n c1
for i in `seq 1 20`; do
echo $(sudo lxc-clone -s -B btrfs -P $path -o c1 -n $prefix$i; sudo lxc-start -d -n $prefix$i) &
done
sleep 10
# Create even more.
for i in `seq 21 40`; do
echo $(sudo lxc-clone -s -B btrfs -P $path -o c1 -n $prefix$i; sudo lxc-start -d -n $prefix$i) &
done