1
0
Fork 0
mirror of https://github.com/moby/moby.git synced 2022-11-09 12:21:53 -05:00
moby--moby/daemon
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
..
caps
cluster Fix missing IPAM options in swarm network mode 2016-12-12 13:26:30 -08:00
events
exec Move StreamConfig out of runconfig 2016-11-14 14:03:05 -08:00
graphdriver Refcount graphdriver plugins properly 2016-12-13 19:56:51 -08:00
links
logger Fix a error of the function 'CopyMessage' in 'daemon/logger/logger.go' 2016-11-30 14:08:05 -08:00
network
apparmor_default.go daemon: switch to 'ensure' workflow for AppArmor profiles 2016-12-12 16:16:50 -08:00
apparmor_default_unsupported.go daemon: switch to 'ensure' workflow for AppArmor profiles 2016-12-12 16:16:50 -08:00
archive.go
archive_unix.go
archive_windows.go
attach.go
auth.go
bindmount_solaris.go
bindmount_unix.go
cache.go
changes.go
checkpoint.go Restrict checkpoint name to prevent directory traversal 2016-11-28 11:17:55 -08:00
cluster.go
commit.go Windows: Builder case insensitive env 2016-11-30 14:05:48 -08:00
config.go Rename Remote API to Engine API 2016-11-22 16:49:58 -08:00
config_common_unix.go
config_experimental.go
config_solaris.go
config_test.go
config_unix.go Rename Remote API to Engine API 2016-11-22 16:49:58 -08:00
config_unix_test.go
config_windows.go
config_windows_test.go
container.go xFix issue for --hostname when running in "--net=host" 2016-12-09 14:42:16 -08:00
container_operations.go xFix issue for --hostname when running in "--net=host" 2016-12-09 14:42:16 -08:00
container_operations_solaris.go
container_operations_unix.go plugins: support for devices 2016-11-22 16:16:33 -08:00
container_operations_windows.go
create.go xFix issue for --hostname when running in "--net=host" 2016-12-09 14:42:16 -08:00
create_unix.go
create_windows.go Windows: Revert 27884 2016-11-18 13:36:37 -08:00
daemon.go daemon: switch to 'ensure' workflow for AppArmor profiles 2016-12-12 16:16:50 -08:00
daemon_experimental.go
daemon_linux.go
daemon_linux_test.go
daemon_solaris.go
daemon_test.go
daemon_unix.go daemon: remove not needed unmarshal 2016-11-23 12:27:11 -08:00
daemon_unix_test.go
daemon_unsupported.go
daemon_windows.go Ensure vmcompute.dll exists during daemon start 2016-11-22 16:15:19 -08:00
debugtrap.go Reduce spew data dumped 2016-11-18 13:32:26 -08:00
debugtrap_unix.go
debugtrap_unsupported.go
debugtrap_windows.go
delete.go Rename Remote API to Engine API 2016-11-22 16:49:58 -08:00
delete_test.go
discovery.go
discovery_test.go
disk_usage.go Add reference filter and deprecated filter param… 2016-11-11 15:34:01 +01:00
errors.go
events.go
events_test.go
exec.go Rename Remote API to Engine API 2016-11-22 16:49:58 -08:00
exec_linux.go
exec_solaris.go
exec_windows.go
export.go
getsize_unix.go
health.go Use Container.Config.Shell instead of hardcoded… 2016-11-19 23:45:58 -08:00
health_test.go Fix deadlock on cancelling healthcheck 2016-11-18 13:37:44 -08:00
image.go
image_delete.go
image_exporter.go
image_history.go
image_inspect.go
image_pull.go fix a few golint errors 2016-11-19 23:50:06 -08:00
image_push.go
image_tag.go
images.go Add reference filter and deprecated filter param… 2016-11-11 15:34:01 +01:00
import.go
info.go api: types: keep info.SecurityOptions a string slice 2016-11-21 14:45:05 -08:00
info_unix.go api: types: keep info.SecurityOptions a string slice 2016-11-21 14:45:05 -08:00
info_windows.go api: types: keep info.SecurityOptions a string slice 2016-11-21 14:45:05 -08:00
inspect.go
inspect_solaris.go
inspect_unix.go
inspect_windows.go
keys.go
keys_unsupported.go
kill.go
links.go Windows: Factor out sqlite 2016-12-02 13:40:06 -08:00
links_linux.go Windows: Factor out sqlite 2016-12-02 13:40:06 -08:00
links_linux_test.go Windows: Factor out sqlite 2016-12-02 13:40:06 -08:00
links_notlinux.go Windows: Factor out sqlite 2016-12-02 13:40:06 -08:00
list.go
list_unix.go
list_windows.go
logdrivers_linux.go
logdrivers_windows.go
logs.go
logs_test.go
metrics.go
monitor.go Move StreamConfig out of runconfig 2016-11-14 14:03:05 -08:00
monitor_linux.go
monitor_solaris.go
monitor_windows.go
mounts.go
names.go Restrict checkpoint name to prevent directory traversal 2016-11-28 11:17:55 -08:00
network.go Fix network attachable option. 2016-11-29 14:06:31 -08:00
oci_linux.go daemon: switch to 'ensure' workflow for AppArmor profiles 2016-12-12 16:16:50 -08:00
oci_solaris.go
oci_windows.go
pause.go
prune.go Convert DanglingOnly to Filters for docker image prune 2016-12-07 16:08:18 -08:00
rename.go
resize.go
restart.go
search.go
search_test.go
seccomp_disabled.go
seccomp_linux.go
seccomp_unsupported.go
secrets.go do not force target type for secret references 2016-11-21 14:45:39 -08:00
secrets_linux.go
secrets_unsupported.go
selinux_linux.go
selinux_unsupported.go
start.go fix #29199, reset container if container start failed 2016-12-07 16:16:55 -08:00
start_unix.go
start_windows.go
stats.go Rename Remote API to Engine API 2016-11-22 16:49:58 -08:00
stats_collector.go
stats_collector_solaris.go
stats_collector_unix.go
stats_collector_windows.go
stats_unix.go
stats_windows.go
stop.go
top_unix.go
top_unix_test.go
top_windows.go
unpause.go
update.go Remove hostname validation as it seems to break users 2016-12-05 00:40:19 -08:00
update_linux.go
update_solaris.go
update_windows.go
volumes.go Rename Remote API to Engine API 2016-11-22 16:49:58 -08:00
volumes_unit_test.go
volumes_unix.go close the file 2016-11-21 13:23:23 -08:00
volumes_windows.go
wait.go
workdir.go COPY file . after WORKDIR (now always created) 2016-11-28 11:12:45 -08:00