Browse Source

When plugin enable fails, unmount PropagatedMount.

Signed-off-by: Anusha Ragunathan <anusha@docker.com>
(cherry picked from commit cef443bddf2a185b3afa2f5c7333fd461c87ae74)
Signed-off-by: Victor Vieux <vieux@docker.com>
Anusha Ragunathan 8 years ago
parent
commit
1a86cbb031
1 changed files with 5 additions and 0 deletions
  1. 5 0
      plugin/manager_linux.go

+ 5 - 0
plugin/manager_linux.go

@@ -41,6 +41,11 @@ func (pm *Manager) enable(p *v2.Plugin, c *controller, force bool) error {
 	}
 
 	if err := pm.containerdClient.Create(p.GetID(), "", "", specs.Spec(*spec), attachToLog(p.GetID())); err != nil {
+		if p.PropagatedMount != "" {
+			if err := mount.Unmount(p.PropagatedMount); err != nil {
+				logrus.Warnf("Could not unmount %s: %v", p.PropagatedMount, err)
+			}
+		}
 		return err
 	}