瀏覽代碼

fix cross repo mounts

Michael Yang 1 年之前
父節點
當前提交
a5ccf742c1
共有 1 個文件被更改,包括 8 次插入0 次删除
  1. 8 0
      server/upload.go

+ 8 - 0
server/upload.go

@@ -77,6 +77,14 @@ func (b *blobUpload) Prepare(ctx context.Context, requestURL *url.URL, opts *Reg
 
 
 	b.Total = fi.Size()
 	b.Total = fi.Size()
 
 
+	// http.StatusCreated indicates a blob has been mounted
+	// ref: https://distribution.github.io/distribution/spec/api/#cross-repository-blob-mount
+	if resp.StatusCode == http.StatusCreated {
+		b.Completed.Store(b.Total)
+		b.done = true
+		return nil
+	}
+
 	var size = b.Total / numUploadParts
 	var size = b.Total / numUploadParts
 	switch {
 	switch {
 	case size < minUploadPartSize:
 	case size < minUploadPartSize: