From a80c9359bfb7cb03e1f3188579a7e11508360d27 Mon Sep 17 00:00:00 2001 From: Lyndon-Li Date: Wed, 28 Aug 2024 17:42:52 +0800 Subject: [PATCH] bump up kopia Signed-off-by: Lyndon-Li --- changelogs/unreleased/8158-Lyndon-Li | 1 + go.mod | 2 +- go.sum | 4 ++-- pkg/uploader/kopia/block_restore.go | 3 ++- 4 files changed, 6 insertions(+), 4 deletions(-) create mode 100644 changelogs/unreleased/8158-Lyndon-Li diff --git a/changelogs/unreleased/8158-Lyndon-Li b/changelogs/unreleased/8158-Lyndon-Li new file mode 100644 index 0000000000..ed60df19cb --- /dev/null +++ b/changelogs/unreleased/8158-Lyndon-Li @@ -0,0 +1 @@ +Fix issue #8155, Merge Kopia upstream commits for critical issue fixes and performance improvements \ No newline at end of file diff --git a/go.mod b/go.mod index bef073147e..7b77a51751 100644 --- a/go.mod +++ b/go.mod @@ -177,4 +177,4 @@ require ( sigs.k8s.io/structured-merge-diff/v4 v4.4.1 // indirect ) -replace github.com/kopia/kopia => github.com/project-velero/kopia v0.0.0-20240417031915-e07d5b7de567 +replace github.com/kopia/kopia => github.com/project-velero/kopia v0.0.0-20240829032136-7fca59662a06 diff --git a/go.sum b/go.sum index 184f015c32..51cac8f801 100644 --- a/go.sum +++ b/go.sum @@ -613,8 +613,8 @@ github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZb github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= github.com/posener/complete v1.1.1/go.mod h1:em0nMJCgc9GFtwrmVmEMR/ZL6WyhyjMBndrE9hABlRI= github.com/pquerna/cachecontrol v0.0.0-20171018203845-0dec1b30a021/go.mod h1:prYjPmNq4d1NPVmpShWobRqXY3q7Vp+80DqgxxUrUIA= -github.com/project-velero/kopia v0.0.0-20240417031915-e07d5b7de567 h1:Gb5eZktsqgnhOfQmKWIlVA9yKvschdr8n8d6y1RLFA0= -github.com/project-velero/kopia v0.0.0-20240417031915-e07d5b7de567/go.mod h1:2HlqZb/N6SNsWUCZzyeh9Lw29PeDRHDkMUiuQCEWt4Y= +github.com/project-velero/kopia v0.0.0-20240829032136-7fca59662a06 h1:QLtEHOokfqpsW99nDFyU2IB47LsGhDqMICGPA+ZgjpM= +github.com/project-velero/kopia v0.0.0-20240829032136-7fca59662a06/go.mod h1:2HlqZb/N6SNsWUCZzyeh9Lw29PeDRHDkMUiuQCEWt4Y= github.com/prometheus/client_golang v0.9.1/go.mod h1:7SWBe2y4D6OKWSNQJUaRYU/AaXPKyh/dDVn+NZz0KFw= github.com/prometheus/client_golang v0.9.3/go.mod h1:/TN21ttK/J9q6uSwhBd54HahCDft0ttaMvbicHlPoso= github.com/prometheus/client_golang v1.0.0/go.mod h1:db9x61etRT2tGnBNRi70OPL5FsnadC4Ky3P0J6CfImo= diff --git a/pkg/uploader/kopia/block_restore.go b/pkg/uploader/kopia/block_restore.go index 22c8ec1fcb..b9fba99fc8 100644 --- a/pkg/uploader/kopia/block_restore.go +++ b/pkg/uploader/kopia/block_restore.go @@ -41,7 +41,7 @@ var _ restore.Output = &BlockOutput{} const bufferSize = 128 * 1024 -func (o *BlockOutput) WriteFile(ctx context.Context, relativePath string, remoteFile fs.File) error { +func (o *BlockOutput) WriteFile(ctx context.Context, relativePath string, remoteFile fs.File, progressCb restore.FileWriteProgress) error { remoteReader, err := remoteFile.Open(ctx) if err != nil { return errors.Wrapf(err, "failed to open remote file %s", remoteFile.Name()) @@ -70,6 +70,7 @@ func (o *BlockOutput) WriteFile(ctx context.Context, relativePath string, remote offset := 0 for bytesToWrite > 0 { if bytesWritten, err := targetFile.Write(buffer[offset:bytesToWrite]); err == nil { + progressCb(int64(bytesWritten)) bytesToWrite -= bytesWritten offset += bytesWritten } else {