moby--moby/volume/drivers
Brian Goff f29bbd16f5 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>
2016-12-09 19:46:28 -05:00
..
adapter.go plugins: container-rootfs-relative paths 2016-12-09 10:16:24 -08:00
extpoint.go Refcount graphdriver plugins properly 2016-12-09 19:46:28 -05:00
extpoint_test.go Make graphdrivers work with pluginv2. 2016-09-20 08:49:48 -07:00
proxy.go plugins: container-rootfs-relative paths 2016-12-09 10:16:24 -08:00
proxy_test.go plugins: experimental support for new plugin management 2016-06-14 14:20:27 -07:00