Alexander Larsson
b5795749d1
Remove devicemapper lazy initialization
...
We now always initialize devicemapper on startup, so
no need for the code that did lazy initialization, we
just delete it.
2013-11-11 13:29:27 +01:00
Michael Crosby
9514767587
Allow driver to provide changes if it impl the Changer interface
2013-11-08 14:54:20 -08:00
Michael Crosby
51c93c0f33
Fix aufs error at startup
...
Add String methods to other drivers
2013-11-07 19:02:15 -08:00
Solomon Hykes
9ae4bcaaf8
Move Change to the archive package, and fix a leftover merge in
...
Container.Inject()
2013-11-08 00:45:07 +00:00
Solomon Hykes
f1127b9308
gofmt
2013-11-07 23:58:03 +00:00
Solomon Hykes
4a8a7d4edd
devmapper: port to the new driver API and reactivate driver
2013-11-07 22:41:55 +00:00
Michael Crosby
752bfba2c5
Add graph driver registration
2013-11-04 15:22:34 -08:00
Solomon Hykes
6c77f2c189
devmapper: rename plugin*.go to driver*.go
2013-11-04 17:23:46 +00:00
Solomon Hykes
b77c5c5984
devmapper: renamed DMBackend to Driver
2013-11-04 17:22:43 +00:00
Solomon Hykes
d23b9e8734
devmapper: implement OnRemove
2013-11-02 21:25:06 +00:00
Solomon Hykes
d2c2c2c116
devmapper: rename Create() to OnCreate(), cleanup tests
2013-11-01 19:30:30 +00:00
Solomon Hykes
d64df7c765
Work In Progress: fix devmapper plugin, first independent test passes.
2013-11-01 19:04:08 +00:00
Solomon Hykes
86dd2473c1
Work In Progress: devmapper backend plugin
2013-11-01 05:06:49 +00:00
Alexander Larsson
2812baf395
devmapper: Fix prefix name to work with udev
...
Udev escapes "," used in device names to 0\x2c which breaks libdevmapper.
Instead use : to escape minor and minor which works.
2013-10-18 11:39:47 +02:00
Alexander Larsson
572b1fd9be
devmapper: Fix major/minor extraction
...
The way devices are mapped is a bit more complex than before.
This implements the method from new_decode_dev in:
https://github.com/mirrors/linux-2.6/blob/master/include/linux/kdev_t.h
Which is what is needed on kernels > 2.6
2013-10-18 11:38:21 +02:00
Solomon Hykes
4756ad248a
devmapper: use major,minor of underlying device in devmapper device name, for readability.
2013-10-18 08:30:53 +00:00
Solomon Hykes
dfb77274ce
devmapper: clearer make the 'unknown base hash' error message more understandable
2013-10-18 08:22:42 +00:00
Solomon Hykes
73545199a8
Merge remote-tracking branch 'alexlarsson/dm-status' into dm
...
Conflicts:
devmapper/deviceset.go
2013-10-18 07:17:13 +00:00
Solomon Hykes
0ad35c6746
devmapper: cleanup error reporting
2013-10-18 07:09:13 +00:00
Solomon Hykes
5e363072f5
Merge branch 'dm' of ssh://github.com/dotcloud/docker into dm
2013-10-18 06:51:50 +00:00
Solomon Hykes
9f85a967bb
Merge pull request #2269 from alexlarsson/dm-blocksize
...
devmapper: Use a smaller blocksize for the thin-pool
2013-10-17 22:50:33 -07:00
Solomon Hykes
85a36b3b53
devmapper: rename deviceset_devmapper.go to deviceset.go
2013-10-18 05:19:22 +00:00
Solomon Hykes
d3505d836a
Merge remote-tracking branch 'alexlarsson/dm-readonly-images' into dm
...
Conflicts:
devmapper/deviceset_devmapper.go
2013-10-18 03:40:46 +00:00
Solomon Hykes
4bd6021806
devmapper: Rename DeviceSetDM to DeviceSet
2013-10-18 00:07:56 +00:00
Guillaume J. Charmes
31b883b076
Add error checking and error messages
2013-10-17 15:04:14 -07:00
Alexander Larsson
a14496ce89
Devmapper: Mount images readonly when calculating changes
...
There is no need to have this be writable, and there is a chance
that e.g. atime updates will cause writes to the image which is
bad for disk use wrt sharing between all containers.
2013-10-17 16:14:53 +02:00
Alexander Larsson
8abcc8e713
devmapper: Use a smaller blocksize for the thin-pool
...
As per the thin provisioning docs for creating the pool:
$data_block_size gives the smallest unit of disk space that can be
allocated at a time expressed in units of 512-byte sectors.
$data_block_size must be between 128 (64KB) and 2097152 (1GB) and a
multiple of 128 (64KB). $data_block_size cannot be changed after the
thin-pool is created. People primarily interested in thin provisioning
may want to use a value such as 1024 (512KB). People doing lots of
snapshotting may want a smaller value such as 128 (64KB).
The switch from 512 (which we used before) to 128 (recommended above
for lots of snapshoting) means a simple container creation (based on the
mattdm/fedora:f19 image) adds 1 MB of diskspace rather than 3.6.
This seems more in tune with how docker is typically used.
2013-10-17 15:33:00 +02:00
Alexander Larsson
d733cdcebb
Show devicemapper status in "docker info"
...
This shows the current global diskspace use in "docker info"
2013-10-17 15:32:07 +02:00
Alexander Larsson
e6a73e65a2
devicemapper: Use device/inode of the root dir, not the image
...
This way the devicemapper prefix stays stable even if we're not
using loopback mounted devices.
2013-10-17 09:53:09 +02:00
Solomon Hykes
ad2fbd9e87
devmapper: error reporting workaround in waitRemove()
2013-10-17 01:49:51 +00:00
Solomon Hykes
e5d7472a0d
devmapper: small fixes in error reporting
2013-10-17 01:49:27 +00:00
Solomon Hykes
7d3c7e2b29
devmapper: debug messages
2013-10-17 01:47:03 +00:00
Solomon Hykes
f1d07e2dbe
devmapper: prefix device names with the dev_id+inode of the data image
2013-10-17 01:46:28 +00:00
Solomon Hykes
ad968ef3ef
devmapper: add useful comments
2013-10-17 01:42:05 +00:00
Solomon Hykes
c688e9b5a6
devmapper: debug messages
2013-10-16 23:27:33 +00:00
Solomon Hykes
ea04f3de72
devmapper: wait for devices to be effectively removed before returning a successful remove
2013-10-16 23:26:37 +00:00
Solomon Hykes
153248b60f
devicemapper: remove unused code
2013-10-16 23:23:35 +00:00
Solomon Hykes
1711de4b09
devmapper: wait for devices to be effectively unmounted before removing them
2013-10-16 23:06:07 +00:00
Solomon Hykes
11d695a297
Add debug messages while testing devicemapper
2013-10-16 20:45:59 +00:00
Guillaume J. Charmes
3a246ac3d1
Change default values for devicemapper as variable instead of env
2013-10-16 20:42:50 +00:00
Solomon Hykes
cd61fb2e6f
WIP: debugging dm-base-hash + dm-refactor-init
2013-10-15 23:56:04 +00:00
Solomon Hykes
fdba1aeed8
Merge branch 'dm-refactor-init' into dm
...
Conflicts:
runtime_test.go
2013-10-15 23:27:28 +00:00
Solomon Hykes
c9f3e54c31
Merge branch 'dm-base-hash' into dm
2013-10-15 23:09:26 +00:00
Alexander Larsson
5ebaca7e55
devmapper: create device nodes 'on create' instead of 'on resume'
2013-10-15 21:27:47 +00:00
Michael Crosby
4431e9edb7
Rename loopback dir to devicemapper
2013-10-15 11:30:06 -07:00
Michael Crosby
3455c1a098
Use incrementing prefix on pool and loopback to allow dind
2013-10-14 17:48:43 -07:00
Michael Crosby
c3f1bb3287
Allow loopback and base fs sizes set by env var
2013-10-11 20:37:11 -07:00
Alexander Larsson
b440ec0136
device-mapper: Move all devicemapper spew to log through utils.Debugf().
2013-10-11 16:31:06 -07:00
Alexander Larsson
c77697a45c
devmapper: Move all "raw" libdevmapper wrappers to devmapper.go
...
This separates out the DeviceSet logic a bit better from the raw
device mapper operations.
devicemapper: Serialize addess to the devicemapper deviceset
This code is not safe to run in multiple threads at the same time,
and neither is libdevmapper.
DeviceMapper: Move deactivate into UnmountDevice
This way the deactivate is atomic wrt othe device mapper operations
and will not fail with EBUSY if someone else starts a devicemapper
operation inbetween unmount and deactivate.
devmapper: Fix loopback mounting regression
Some changes were added to attach_loop_device which added
a perror() in a place that caused it to override errno so that
a later errno != EBUSY failed. This fixes that and cleans up
the error reporting a bit.
devmapper: Build on old kernels without LOOP_CTL_GET_FREE define
2013-10-11 16:30:02 -07:00
Victor Vieux
f6913592a1
Merge pull request #2087 from alexlarsson/device-mapper-test
...
Device mapper test branch update
2013-10-04 07:54:43 -07:00