Improve error messages when objects have been corrupted on transfer - fixes #5268
This commit is contained in:
committed by
Nick Craig-Wood
parent
aee8d909b3
commit
bf494d48d6
@@ -266,14 +266,14 @@ func (c *copy) manualCopy(ctx context.Context) (actionTaken string, newDst fs.Ob
|
||||
func (c *copy) verify(ctx context.Context, newDst fs.Object) (err error) {
|
||||
// Verify sizes are the same after transfer
|
||||
if sizeDiffers(ctx, c.src, newDst) {
|
||||
return fmt.Errorf("corrupted on transfer: sizes differ %d vs %d", c.src.Size(), newDst.Size())
|
||||
return fmt.Errorf("corrupted on transfer: sizes differ src(%s) %d vs dst(%s) %d", c.src.Fs(), c.src.Size(), c.dst.Fs(), c.dst.Size())
|
||||
}
|
||||
// Verify hashes are the same after transfer - ignoring blank hashes
|
||||
if c.hashType != hash.None {
|
||||
// checkHashes has logs and counts errors
|
||||
equal, _, srcSum, dstSum, _ := checkHashes(ctx, c.src, newDst, c.hashType)
|
||||
if !equal {
|
||||
return fmt.Errorf("corrupted on transfer: %v hash differ %q vs %q", c.hashType, srcSum, dstSum)
|
||||
return fmt.Errorf("corrupted on transfer: %v hashes differ src(%s) %q vs dst(%s) %q", c.hashType, c.src.Fs(), srcSum, c.dst.Fs(), dstSum)
|
||||
}
|
||||
}
|
||||
return nil
|
||||
|
||||
Reference in New Issue
Block a user