1
0
Fork 0
mirror of https://github.com/moby/moby.git synced 2022-11-09 12:21:53 -05:00
moby--moby/volume
Brian Goff 8b31f217ff Refcount graphdriver plugins properly
Adds 2 new methods to v2 plugin `Acquire` and `Release` which allow
refcounting directly at the plugin level instead of just the store.
Since a graphdriver is initialized exactly once, and is really managed
by a separate object, it didn't really seem right to call
`getter.Get()` to refcount graphdriver plugins.
On shutdown it was particularly weird where we'd either need to keep a
driver reference in daemon, or keep a reference to the pluggin getter in
the layer store, and even then still store extra details on if the
graphdriver is a plugin or not.

Instead the plugin proxy itself will handle calling the neccessary
refcounting methods directly on the plugin object.

Also adds a new interface in `plugingetter` to account for these new
functions which are not going to be implemented by v1 plugins.

Changes terms `plugingetter.CREATE` and `plugingetter.REMOVE` to
`ACQUIRE` and `RELEASE` respectively, which seems to be better
adjectives for what we're doing.

Signed-off-by: Brian Goff <cpuguy83@gmail.com>
(cherry picked from commit f29bbd16f5)
Signed-off-by: Victor Vieux <vieux@docker.com>
2016-12-13 19:56:51 -08:00
..
drivers Refcount graphdriver plugins properly 2016-12-13 19:56:51 -08:00
local Restrict checkpoint name to prevent directory traversal 2016-11-28 11:17:55 -08:00
store Fix out-of-band vol delete+create for same driver 2016-12-02 16:54:15 -08:00
testutils test: fix trivial code convention noncompliance 2016-09-12 07:36:52 +00:00
validate.go api: fix ReadOnly support for tmpfs 2016-11-08 06:49:17 +00:00
validate_test.go Add new HostConfig field, Mounts. 2016-09-13 09:55:35 -04:00
validate_test_unix.go Add new HostConfig field, Mounts. 2016-09-13 09:55:35 -04:00
validate_test_windows.go Add new HostConfig field, Mounts. 2016-09-13 09:55:35 -04:00
volume.go Fix uneccessary calls to volume.Unmount() 2016-11-10 14:04:08 -05:00
volume_copy.go Add new HostConfig field, Mounts. 2016-09-13 09:55:35 -04:00
volume_copy_unix.go Add new HostConfig field, Mounts. 2016-09-13 09:55:35 -04:00
volume_copy_windows.go Add new HostConfig field, Mounts. 2016-09-13 09:55:35 -04:00
volume_linux.go Use container Mounts API for Swarm containers. 2016-11-22 16:13:28 -08:00
volume_linux_test.go api: fix ReadOnly support for tmpfs 2016-11-08 06:49:17 +00:00
volume_propagation_linux.go Add new HostConfig field, Mounts. 2016-09-13 09:55:35 -04:00
volume_propagation_linux_test.go Add new HostConfig field, Mounts. 2016-09-13 09:55:35 -04:00
volume_propagation_unsupported.go Add new HostConfig field, Mounts. 2016-09-13 09:55:35 -04:00
volume_test.go Fix several issues with go vet and go fmt 2016-11-18 15:14:49 -08:00
volume_unix.go Add new HostConfig field, Mounts. 2016-09-13 09:55:35 -04:00
volume_unsupported.go api: fix ReadOnly support for tmpfs 2016-11-08 06:49:17 +00:00
volume_windows.go Windows: Remove TP5 support from volume 2016-09-21 11:03:19 -07:00