message: Nydusify: fix blob push issue when enabling build cache
  Push blob layer to cache image failed because the blob was deleted earlier:
  ```
  Failed push layer to cache image: Open blob file: open tmp/blobs/x:
  no such file or directory
  ```
diff: @@ -104,21 +104,13 @@ func parseSourceMount(mounts []mount.Mount) (*sourceMount, error) {
  }
  }
  -func (layer *buildLayer) pushBlob(ctx context.Context) error {
  +func (layer *buildLayer) pushBlob(ctx context.Context, blobSize int64) error {
  // Note: filepath.Base(blobPath) is a sha256 hex string
  blobPath := layer.blobPath
  blobID := filepath.Base(blobPath)
  - info, err := os.Stat(blobPath)
  - if err != nil {
  - return errors.Wrap(err, "Stat blob file")
  - }
  -
  - defer os.Remove(blobPath)
  -
  if err := utils.WithRetry(func() error {
  - size := info.Size()
  - desc, err := layer.backend.Upload(ctx, blobID, blobPath, size)
  + desc, err := layer.backend.Upload(ctx, blobID, blobPath, blobSize)
  if err != nil {
  return err
  }
  @@ -210,6 +202,9 @@ func (layer *buildLayer) Push(ctx context.Context) error {
  if err != nil {
  return errors.Wrap(err, "Get blob layer size")
  }
  + // Once upload is complete, clean up the blob file to save disk space.
  + defer os.Remove(layer.blobPath)
  +
  blobSize := humanize.Bytes(uint64(info.Size()))
  var op string
  if layer.backend.Type() == backend.OssBackend {
  @@ -221,7 +216,7 @@ func (layer *buildLayer) Push(ctx context.Context) error {
  "Digest": blobDigest,
  "Size": blobSize,
  })
  - if err := layer.pushBlob(ctx); err != nil {
  + if err := layer.pushBlob(ctx, info.Size()); err != nil {
  return pushDone(errors.Wrapf(err, "Push Nydus blob layer"))
  }
  