docker/volume/drivers
Brian Goff 3816b51438 Fixup some issues with plugin refcounting
In some circumstances we were not properly releasing plugin references,
leading to failures in removing a plugin with no way to recover other
than restarting the daemon.

1. If volume create fails (in the driver)
2. If a driver validation fails (should be rare)
3. If trying to get a plugin that does not match the passed in capability

Ideally the test for 1 and 2 would just be a unit test, however the
plugin interfaces are too complicated as `plugingetter` relies on
github.com/pkg/plugin/Client (a concrete type), which will require
spinning up services from within the unit test... it just wouldn't be a
unit test at this point.
I attempted to refactor this a bit, but since both libnetwork and
swarmkit are reliant on `plugingetter` as well, this would not work.
This really requires a re-write of the lower-level plugin management to
decouple these pieces.

Signed-off-by: Brian Goff <cpuguy83@gmail.com>
2017-10-21 15:17:57 -04:00
..
adapter.go Update logrus to v1.0.1 2017-07-31 13:16:46 -07:00
extpoint.go Fixup some issues with plugin refcounting 2017-10-21 15:17:57 -04:00
extpoint_test.go Implement content addressability for plugins 2016-12-23 13:29:58 -08: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