From 8fb576ed54ea7043045474b05bed9c0817e743d2 Mon Sep 17 00:00:00 2001 From: Audrius Butkevicius Date: Fri, 4 Oct 2019 12:03:13 +0100 Subject: [PATCH] lib/model: Adjust blocks reported in usage reporting (fixes #5995) (#6037) * lib/model: Adjust blocks reported in usage reporting (fixes #5995) * Use variables, fix go.mod --- go.sum | 4 ---- lib/model/folder_sendrecv.go | 18 ++++++++++-------- 2 files changed, 10 insertions(+), 12 deletions(-) diff --git a/go.sum b/go.sum index d0385681d..6a01828a5 100644 --- a/go.sum +++ b/go.sum @@ -111,8 +111,6 @@ github.com/matttproud/golang_protobuf_extensions v1.0.1 h1:4hp9jkHxhMHkqkrB3Ix0j github.com/matttproud/golang_protobuf_extensions v1.0.1/go.mod h1:D8He9yQNgCq6Z5Ld7szi9bcBfOoFv/3dc6xSMkL2PC0= github.com/mgutz/ansi v0.0.0-20170206155736-9520e82c474b h1:j7+1HpAFS1zy5+Q4qx1fWh90gTKwiN4QCGoY9TWyyO4= github.com/mgutz/ansi v0.0.0-20170206155736-9520e82c474b/go.mod h1:01TrycV0kFyexm33Z7vhZRXopbI8J3TDReVlkTgMUxE= -github.com/minio/sha256-simd v0.1.0 h1:U41/2erhAKcmSI14xh/ZTUdBPOzDOIfS93ibzUSl8KM= -github.com/minio/sha256-simd v0.1.0/go.mod h1:2FMWW+8GMoPweT6+pI63m9YE3Lmw4J71hV56Chs1E/U= github.com/minio/sha256-simd v0.1.1 h1:5QHSlgo3nt5yKOJrC7W8w7X+NFl8cMPZm96iu8kKUJU= github.com/minio/sha256-simd v0.1.1/go.mod h1:B5e1o+1/KgNmWrSQK08Y6Z1Vb5pwIktudl0J58iy0KM= github.com/modern-go/concurrent v0.0.0-20180228061459-e0a39a4cb421/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q= @@ -189,8 +187,6 @@ github.com/thejerf/suture v3.0.2+incompatible h1:GtMydYcnK4zBJ0KL6Lx9vLzl6Oozb65 github.com/thejerf/suture v3.0.2+incompatible/go.mod h1:ibKwrVj+Uzf3XZdAiNWUouPaAbSoemxOHLmJmwheEMc= github.com/urfave/cli v1.20.0 h1:fDqGv3UG/4jbVl/QkFwEdddtEDjh/5Ov6X+0B/3bPaw= github.com/urfave/cli v1.20.0/go.mod h1:70zkFmudgCuE/ngEzBv17Jvp/497gISqfk5gWijbERA= -github.com/urfave/cli v1.21.0 h1:wYSSj06510qPIzGSua9ZqsncMmWE3Zr55KBERygyrxE= -github.com/urfave/cli v1.21.0/go.mod h1:lxDj6qX9Q6lWQxIrbrT0nwecwUtRnhVZAJjJZrVUZZQ= github.com/urfave/cli v1.22.1 h1:+mkCCcOFKPnCmVYVcURKps1Xe+3zP90gSYGNfRkjoIY= github.com/urfave/cli v1.22.1/go.mod h1:Gos4lmkARVdJ6EkW0WaNv/tZAAMe9V7XWyB60NtXRu0= github.com/vitrun/qart v0.0.0-20160531060029-bf64b92db6b0 h1:okhMind4q9H1OxF44gNegWkiP4H/gsTFLalHFa4OOUI= diff --git a/lib/model/folder_sendrecv.go b/lib/model/folder_sendrecv.go index 32d3ff5bf..bbf381a9f 100644 --- a/lib/model/folder_sendrecv.go +++ b/lib/model/folder_sendrecv.go @@ -982,8 +982,9 @@ func (f *sendReceiveFolder) renameFile(cur, source, target protocol.FileInfo, db } blockStatsMut.Lock() - blockStats["total"] += len(target.Blocks) - blockStats["renamed"] += len(target.Blocks) + minBlocksPerBlock := target.BlockSize() / protocol.MinBlockSize + blockStats["total"] += len(target.Blocks) * minBlocksPerBlock + blockStats["renamed"] += len(target.Blocks) * minBlocksPerBlock blockStatsMut.Unlock() // The file was renamed, so we have handled both the necessary delete @@ -1559,15 +1560,16 @@ func (f *sendReceiveFolder) finisherRoutine(in <-chan *sharedPullerState, dbUpda if err != nil { f.newPullError(state.file.Name, err) } else { + minBlocksPerBlock := state.file.BlockSize() / protocol.MinBlockSize blockStatsMut.Lock() - blockStats["total"] += state.reused + state.copyTotal + state.pullTotal - blockStats["reused"] += state.reused - blockStats["pulled"] += state.pullTotal + blockStats["total"] += (state.reused + state.copyTotal + state.pullTotal) * minBlocksPerBlock + blockStats["reused"] += state.reused * minBlocksPerBlock + blockStats["pulled"] += state.pullTotal * minBlocksPerBlock // copyOriginShifted is counted towards copyOrigin due to progress bar reasons // for reporting reasons we want to separate these. - blockStats["copyOrigin"] += state.copyOrigin - state.copyOriginShifted - blockStats["copyOriginShifted"] += state.copyOriginShifted - blockStats["copyElsewhere"] += state.copyTotal - state.copyOrigin + blockStats["copyOrigin"] += (state.copyOrigin - state.copyOriginShifted) * minBlocksPerBlock + blockStats["copyOriginShifted"] += state.copyOriginShifted * minBlocksPerBlock + blockStats["copyElsewhere"] += (state.copyTotal - state.copyOrigin) * minBlocksPerBlock blockStatsMut.Unlock() }