mirror of
https://github.com/rclone/rclone.git
synced 2024-11-26 02:14:42 +01:00
operations: if --ignore-checksum is in effect, don't calculate checksum
Before this change we calculated the checksum which is potentially time consuming and then ignored the result. After the change we don't calculate the checksum if we are about to ignore it.
This commit is contained in:
parent
c3af0a1eca
commit
687cbf3ded
@ -356,9 +356,7 @@ func Copy(f fs.Fs, dst fs.Object, remote string, src fs.Object) (newDst fs.Objec
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Verify hashes are the same after transfer - ignoring blank hashes
|
// Verify hashes are the same after transfer - ignoring blank hashes
|
||||||
// TODO(klauspost): This could be extended, so we always create a hash type matching
|
if !fs.Config.IgnoreChecksum && hashType != hash.None {
|
||||||
// the destination, and calculate it while sending.
|
|
||||||
if hashType != hash.None {
|
|
||||||
var srcSum string
|
var srcSum string
|
||||||
srcSum, err = src.Hash(hashType)
|
srcSum, err = src.Hash(hashType)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
@ -370,7 +368,7 @@ func Copy(f fs.Fs, dst fs.Object, remote string, src fs.Object) (newDst fs.Objec
|
|||||||
if err != nil {
|
if err != nil {
|
||||||
fs.CountError(err)
|
fs.CountError(err)
|
||||||
fs.Errorf(dst, "Failed to read hash: %v", err)
|
fs.Errorf(dst, "Failed to read hash: %v", err)
|
||||||
} else if !fs.Config.IgnoreChecksum && !hash.Equals(srcSum, dstSum) {
|
} else if !hash.Equals(srcSum, dstSum) {
|
||||||
err = errors.Errorf("corrupted on transfer: %v hash differ %q vs %q", hashType, srcSum, dstSum)
|
err = errors.Errorf("corrupted on transfer: %v hash differ %q vs %q", hashType, srcSum, dstSum)
|
||||||
fs.Errorf(dst, "%v", err)
|
fs.Errorf(dst, "%v", err)
|
||||||
fs.CountError(err)
|
fs.CountError(err)
|
||||||
|
Loading…
Reference in New Issue
Block a user