Only get rootfs when we need to calculate the image size
| ... | ... |
@@ -87,17 +87,17 @@ func (graph *Graph) Get(name string) (*Image, error) {
|
| 87 | 87 |
if err != nil {
|
| 88 | 88 |
return nil, err |
| 89 | 89 |
} |
| 90 |
- // Check that the filesystem layer exists |
|
| 91 |
- rootfs, err := graph.driver.Get(img.ID) |
|
| 92 |
- if err != nil {
|
|
| 93 |
- return nil, fmt.Errorf("Driver %s failed to get image rootfs %s: %s", graph.driver, img.ID, err)
|
|
| 94 |
- } |
|
| 95 | 90 |
if img.ID != id {
|
| 96 | 91 |
return nil, fmt.Errorf("Image stored at '%s' has wrong id '%s'", id, img.ID)
|
| 97 | 92 |
} |
| 98 | 93 |
img.graph = graph |
| 99 | 94 |
|
| 100 | 95 |
if img.Size < 0 {
|
| 96 |
+ rootfs, err := graph.driver.Get(img.ID) |
|
| 97 |
+ if err != nil {
|
|
| 98 |
+ return nil, fmt.Errorf("Driver %s failed to get image rootfs %s: %s", graph.driver, img.ID, err)
|
|
| 99 |
+ } |
|
| 100 |
+ |
|
| 101 | 101 |
var size int64 |
| 102 | 102 |
if img.Parent == "" {
|
| 103 | 103 |
if size, err = utils.TreeSize(rootfs); err != nil {
|