I missed this one from the last PR. Good to catch it here! :)

I don't think this will work as you expected. Return values from deferred functions will not be returned to the caller. The only way you can change the returned value is by modifying an existing variables defined outside the deferred functions. So you'll need to write
```Go
func copyDiskImage(dst, src string) (err error) {  // use explicit return value to be modified in deferred calls
    ...
    defer func() {
        if ee := srcImg.Close(); ee != nil {
            err = ee // assigning to explicit return value to make the result visible to outside caller
        }
    }()
```

Ditto for the one below to close `dstImg`.