4d2f95853d
Fixed successfullyFinishedLiveSizeChange to not update the rolling total when a redundant change is in RecentChanges. Made setRepoSizes clear RecentChanges that are no longer needed. It might be possible to clear those earlier, this is only a convenient point to do it. The reason it's safe to clear RecentChanges here is that, in order for a live update to call successfullyFinishedLiveSizeChange, a change must be made to a location log. If a RecentChange gets cleared, and just after that a new live update is started, making the same change, the location log has already been changed (since the RecentChange exists), and so when the live update succeeds, it won't call successfullyFinishedLiveSizeChange. The reason it doesn't clear RecentChanges when there is a reduntant live update is because I didn't want to think through whether or not all races are avoided in that case. The rolling total in SizeChanges is never cleared. Instead, calcJournalledRepoSizes gets the initial value of it, and then getLiveRepoSizes subtracts that initial value from the current value. Since the rolling total can only be updated by updateRepoSize, which is called with the journal locked, locking the journal in calcJournalledRepoSizes ensures that the database does not change while reading the journal. |
||
---|---|---|
.. | ||
ActionItem.hs | ||
AdjustedBranch.hs | ||
Availability.hs | ||
Backend.hs | ||
Benchmark.hs | ||
BranchState.hs | ||
CatFileHandles.hs | ||
CleanupActions.hs | ||
Cluster.hs | ||
Command.hs | ||
Concurrency.hs | ||
Creds.hs | ||
Crypto.hs | ||
DeferredParse.hs | ||
DesktopNotify.hs | ||
Difference.hs | ||
Direction.hs | ||
Distribution.hs | ||
Export.hs | ||
FileMatcher.hs | ||
GitConfig.hs | ||
GitRemoteAnnex.hs | ||
Group.hs | ||
Import.hs | ||
IndexFiles.hs | ||
Key.hs | ||
KeySource.hs | ||
Link.hs | ||
LockCache.hs | ||
Messages.hs | ||
MetaData.hs | ||
Mime.hs | ||
NumCopies.hs | ||
ProposedAccepted.hs | ||
RefSpec.hs | ||
Remote.hs | ||
RemoteConfig.hs | ||
RemoteState.hs | ||
RepoSize.hs | ||
RepoVersion.hs | ||
ScheduledActivity.hs | ||
StallDetection.hs | ||
StandardGroups.hs | ||
StoreRetrieve.hs | ||
Test.hs | ||
Transfer.hs | ||
Transferrer.hs | ||
TransferrerPool.hs | ||
Transitions.hs | ||
TrustLevel.hs | ||
Upgrade.hs | ||
UrlContents.hs | ||
UUID.hs | ||
VectorClock.hs | ||
View.hs | ||
WorkerPool.hs |