Read trailing data from tar reader

Not reading all the data from the tar reader causes the
layer digest mismatch which causes failures during unpack
of certain images for lcow. This changes fixes that.

Signed-off-by: Amit Barve <ambarve@microsoft.com>
This commit is contained in:
Amit Barve 2020-10-13 22:25:17 -07:00
parent e4e05c6c01
commit d3b817b95c

View File

@ -21,6 +21,7 @@ package lcow
import (
"context"
"io"
"io/ioutil"
"os"
"path"
"time"
@ -163,6 +164,11 @@ func (s windowsLcowDiff) Apply(ctx context.Context, desc ocispec.Descriptor, mou
}
outFile.Close()
// Read any trailing data
if _, err := io.Copy(ioutil.Discard, rc); err != nil {
return emptyDesc, err
}
err = security.GrantVmGroupAccess(layerPath)
if err != nil {
return emptyDesc, errors.Wrapf(err, "failed GrantVmGroupAccess on layer vhd: %v", layerPath)