Signed-off-by: Brian Goff <cpuguy83@gmail.com>
| ... | ... |
@@ -19,6 +19,7 @@ import ( |
| 19 | 19 |
"github.com/docker/docker/layer" |
| 20 | 20 |
"github.com/docker/docker/pkg/authorization" |
| 21 | 21 |
"github.com/docker/docker/pkg/ioutils" |
| 22 |
+ "github.com/docker/docker/pkg/mount" |
|
| 22 | 23 |
"github.com/docker/docker/pkg/pubsub" |
| 23 | 24 |
"github.com/docker/docker/pkg/system" |
| 24 | 25 |
"github.com/docker/docker/plugin/v2" |
| ... | ... |
@@ -155,6 +156,10 @@ func (pm *Manager) HandleExitEvent(id string) error {
|
| 155 | 155 |
|
| 156 | 156 |
if restart {
|
| 157 | 157 |
pm.enable(p, c, true) |
| 158 |
+ } else {
|
|
| 159 |
+ if err := mount.RecursiveUnmount(filepath.Join(pm.config.Root, id)); err != nil {
|
|
| 160 |
+ return errors.Wrap(err, "error cleaning up plugin mounts") |
|
| 161 |
+ } |
|
| 158 | 162 |
} |
| 159 | 163 |
return nil |
| 160 | 164 |
} |
| ... | ... |
@@ -187,6 +187,9 @@ func (pm *Manager) Shutdown() {
|
| 187 | 187 |
shutdownPlugin(p, c, pm.executor) |
| 188 | 188 |
} |
| 189 | 189 |
} |
| 190 |
+ if err := mount.RecursiveUnmount(pm.config.Root); err != nil {
|
|
| 191 |
+ logrus.WithError(err).Warn("error cleaning up plugin mounts")
|
|
| 192 |
+ } |
|
| 190 | 193 |
} |
| 191 | 194 |
|
| 192 | 195 |
func (pm *Manager) upgradePlugin(p *v2.Plugin, configDigest digest.Digest, blobsums []digest.Digest, tmpRootFSDir string, privileges *types.PluginPrivileges) (err error) {
|