Why use AUFS as the default Docker storage backend instead of devicemapper?
docker
Solution
AUFS is only the default storage back end on systems/distributions that have it available. Otherwise, devicemapper is the default. Ubuntu 14.04, for example, defaults to devicemapper:
$ cat /etc/lsb-release
DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=14.04
DISTRIB_CODENAME=trusty
DISTRIB_DESCRIPTION="Ubuntu 14.04 LTS"
$ docker info | grep Storage
Storage Driver: devicemapper
This changed in Docker 0.7.0. Prior to 0.7.0, Docker relied upon AUFS as its only storage driver, which is why it was the default in earlier versions of Ubuntu.
Problem
Project Atomic's description of Docker storage backends describes technical differences between AUFS and other storage backend choices, such as devicemapper. AUFS is not in the upstream Linux kernel. Why is AUFS chosen as the default storage backend (for example in Ubuntu's Docker)? Are there some technical properties of AUFS that makes it a better choice than a storage backend such as devicemapper that seems to be supported by an unpatched Linux kernel?