aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--weed/server/volume_grpc_copy.go8
1 files changed, 5 insertions, 3 deletions
diff --git a/weed/server/volume_grpc_copy.go b/weed/server/volume_grpc_copy.go
index 84a9035ca..5ff8bb587 100644
--- a/weed/server/volume_grpc_copy.go
+++ b/weed/server/volume_grpc_copy.go
@@ -264,7 +264,7 @@ func writeToFile(client volume_server_pb.VolumeServer_CopyFileClient, fileName s
}
dst, err := os.OpenFile(fileName, flags, 0644)
if err != nil {
- return modifiedTsNs, nil
+ return modifiedTsNs, fmt.Errorf("open file %s: %w", fileName, err)
}
defer dst.Close()
@@ -278,9 +278,11 @@ func writeToFile(client volume_server_pb.VolumeServer_CopyFileClient, fileName s
modifiedTsNs = resp.ModifiedTsNs
}
if receiveErr != nil {
- return modifiedTsNs, fmt.Errorf("receiving %s: %v", fileName, receiveErr)
+ return modifiedTsNs, fmt.Errorf("receiving %s: %w", fileName, receiveErr)
+ }
+ if _, writeErr := dst.Write(resp.FileContent); writeErr != nil {
+ return modifiedTsNs, fmt.Errorf("write file %s: %w", fileName, writeErr)
}
- dst.Write(resp.FileContent)
progressedBytes += int64(len(resp.FileContent))
if progressFn != nil {
if !progressFn(progressedBytes) {