devmapper: use proper DM_UDEV_DISABLE_*_FLAG when creating the thin-pool

Otherwise udev can unecessarily execute various rules (and issue
scanning IO, etc) against the thin-pool -- which can never be a
top-level device.

Docker-DCO-1.1-Signed-off-by: Mike Snitzer <snitzer@redhat.com> (github: snitm)
devmapper: Add option for specifying an lvm2 created thin-pool device

Ideally lvm2 would be used to create/manage the thin-pool volume that is
then handed to docker to exclusively create/manage the thin and thin
snapshot volumes needed for it's containers.  Managing the thin-pool
outside of docker makes for the most feature-rich method of having
docker utilize device mapper thin provisioning as the backing storage
for docker's containers.  lvm2-based thin-pool management feature
highlights include: automatic or interactive thin-pool resize support,
dynamically change thin-pool features, automatic thinp metadata checking
when lvm2 activates the thin-pool, etc.

Docker will not activate/deactivate the specified thin-pool device but
it will exclusively manage/create thin and thin snapshot volumes in it.

Docker will not take ownership of the specified thin-pool device unless
it has 0 data blocks used and a transaction id of 0.  This should help
guard against using a thin-pool that is already in use.

Also fix typos in setupBaseImage() relative to the thin volume type of
the base image.

Docker-DCO-1.1-Signed-off-by: Mike Snitzer <snitzer@redhat.com> (github: snitm)
devmapper: disable discards by default if dm.thinpooldev was specified

User may still enable discards by setting dm.blkdiscard=true

Docker-DCO-1.1-Signed-off-by: Mike Snitzer <snitzer@redhat.com> (github: snitm)
Initialize volumes when container is created
Fixes #8942
Current behavior is that volumes aren't initialized until start.
Volumes still need to be initialized on start since VolumesFrom and
Binds can be passed in as part of HostConfig on start, however anything
that's already been initialized will just be skipped as is the current
behavior.

Signed-off-by: Brian Goff <cpuguy83@gmail.com>
events filtering

Signed-off-by: Victor Vieux <vieux@docker.com>
docs nits

Signed-off-by: Victor Vieux <vieux@docker.com>
refer to the registry instead of the hub

Signed-off-by: Jeff Anderson <jeff@docker.com>
Fix typos in the user guide main page

Signed-off-by: Joel Friedly <joelfriedly@gmail.com>
Use termios via CGO

Signed-off-by: Yohei Ueda <yohei@jp.ibm.com>
devmapper: remove unnecessary else branch in getPoolName()

Docker-DCO-1.1-Signed-off-by: Mike Snitzer <snitzer@redhat.com> (github: snitm)
Updated installation docs for CRUX as a Docker Host.

Docker-DCO-1.1-Signed-off-by: James Mills <prologic@shortcircuit.net.au> (github: therealprologic)
contrib: fix the docker-device-tool

Signed-off-by: Vincent Batts <vbatts@hashbangbash.com>
devmapper: cleanup some extraneous branching in setupBaseImage()

Docker-DCO-1.1-Signed-off-by: Mike Snitzer <snitzer@redhat.com> (github: snitm)
pkg/tarsum: specification on TarSum checksum

Signed-off-by: Vincent Batts <vbatts@redhat.com>
pkg/tarsum: review amendments

(separate commit to preserve github conversation)

Signed-off-by: Vincent Batts <vbatts@redhat.com>
pkg/tarsum: review cleanup

Signed-off-by: Vincent Batts <vbatts@redhat.com>
tarsum: updates for jamtur01 comments

Signed-off-by: Vincent Batts <vbatts@redhat.com>
Closes #9296 adds a more detailed note about the mount behavior with -v flag

Signed-off-by: Andrew C. Bodine <acbodine@us.ibm.com>
Use termios via CGO only on Linux

Signed-off-by: Yohei Ueda <yohei@jp.ibm.com>
Removed extraneous )

Docker-DCO-1.1-Signed-off-by: James Turnbull <james@lovedthanlost.net> (github: jamtur01)