Signed-off-by: Doug Davis <dug@us.ibm.com>
| ... | ... |
@@ -302,13 +302,17 @@ func (graph *Graph) Delete(name string) error {
|
| 302 | 302 |
return err |
| 303 | 303 |
} |
| 304 | 304 |
tmp, err := graph.Mktemp("")
|
| 305 |
- if err != nil {
|
|
| 306 |
- return err |
|
| 307 |
- } |
|
| 308 | 305 |
graph.idIndex.Delete(id) |
| 309 |
- err = os.Rename(graph.ImageRoot(id), tmp) |
|
| 310 |
- if err != nil {
|
|
| 311 |
- return err |
|
| 306 |
+ if err == nil {
|
|
| 307 |
+ err = os.Rename(graph.ImageRoot(id), tmp) |
|
| 308 |
+ // On err make tmp point to old dir and cleanup unused tmp dir |
|
| 309 |
+ if err != nil {
|
|
| 310 |
+ os.RemoveAll(tmp) |
|
| 311 |
+ tmp = graph.ImageRoot(id) |
|
| 312 |
+ } |
|
| 313 |
+ } else {
|
|
| 314 |
+ // On err make tmp point to old dir for cleanup |
|
| 315 |
+ tmp = graph.ImageRoot(id) |
|
| 312 | 316 |
} |
| 313 | 317 |
// Remove rootfs data from the driver |
| 314 | 318 |
graph.driver.Remove(id) |