3939)
4040
4141// Mount to the provided target.
42- func (m * Mount ) mount (target string ) error {
42+ func (m * Mount ) mount (target string ) ( retErr error ) {
4343 readOnly := false
4444 for _ , option := range m .Options {
4545 if option == "ro" {
@@ -70,23 +70,23 @@ func (m *Mount) mount(target string) error {
7070 HomeDir : home ,
7171 }
7272
73- if err = hcsshim .ActivateLayer (di , layerID ); err != nil {
73+ if err : = hcsshim .ActivateLayer (di , layerID ); err != nil {
7474 return fmt .Errorf ("failed to activate layer %s: %w" , m .Source , err )
7575 }
7676 defer func () {
77- if err != nil {
77+ if retErr != nil {
7878 if layerErr := hcsshim .DeactivateLayer (di , layerID ); layerErr != nil {
7979 log .G (context .TODO ()).WithError (layerErr ).Error ("failed to deactivate layer during mount failure cleanup" )
8080 }
8181 }
8282 }()
8383
84- if err = hcsshim .PrepareLayer (di , layerID , parentLayerPaths ); err != nil {
84+ if err : = hcsshim .PrepareLayer (di , layerID , parentLayerPaths ); err != nil {
8585 return fmt .Errorf ("failed to prepare layer %s: %w" , m .Source , err )
8686 }
8787
8888 defer func () {
89- if err != nil {
89+ if retErr != nil {
9090 if layerErr := hcsshim .UnprepareLayer (di , layerID ); layerErr != nil {
9191 log .G (context .TODO ()).WithError (layerErr ).Error ("failed to unprepare layer during mount failure cleanup" )
9292 }
@@ -98,11 +98,11 @@ func (m *Mount) mount(target string) error {
9898 return fmt .Errorf ("failed to get volume path for layer %s: %w" , m .Source , err )
9999 }
100100
101- if err = bindfilter .ApplyFileBinding (target , volume , readOnly ); err != nil {
101+ if err : = bindfilter .ApplyFileBinding (target , volume , readOnly ); err != nil {
102102 return fmt .Errorf ("failed to set volume mount path for layer %s: %w" , m .Source , err )
103103 }
104104 defer func () {
105- if err != nil {
105+ if retErr != nil {
106106 if bindErr := bindfilter .RemoveFileBinding (target ); bindErr != nil {
107107 log .G (context .TODO ()).WithError (bindErr ).Error ("failed to remove binding during mount failure cleanup" )
108108 }
@@ -112,7 +112,7 @@ func (m *Mount) mount(target string) error {
112112 // Add an Alternate Data Stream to record the layer source.
113113 // See https://docs.microsoft.com/en-au/archive/blogs/askcore/alternate-data-streams-in-ntfs
114114 // for details on Alternate Data Streams.
115- if err = os .WriteFile (filepath .Clean (target )+ ":" + sourceStreamName , []byte (m .Source ), 0666 ); err != nil {
115+ if err : = os .WriteFile (filepath .Clean (target )+ ":" + sourceStreamName , []byte (m .Source ), 0666 ); err != nil {
116116 return fmt .Errorf ("failed to record source for layer %s: %w" , m .Source , err )
117117 }
118118
0 commit comments