From 754c54b64fc6d4f3ce0598515d71c42abb510105 Mon Sep 17 00:00:00 2001 From: Nick Craig-Wood Date: Tue, 2 Jul 2013 08:33:17 +0100 Subject: [PATCH] Fix differences print out on check --- fs/accounting.go | 11 +++++++++-- rclone.go | 2 +- 2 files changed, 10 insertions(+), 3 deletions(-) diff --git a/fs/accounting.go b/fs/accounting.go index a5c455f97..d8631dc46 100644 --- a/fs/accounting.go +++ b/fs/accounting.go @@ -106,10 +106,17 @@ func (s *StatsInfo) Errors(errors int64) { s.errors += errors } +// GetErrors reads the number of errors +func (s *StatsInfo) GetErrors() int64 { + s.lock.RLock() + defer s.lock.RUnlock() + return s.errors +} + // Errored returns whether there have been any errors func (s *StatsInfo) Errored() bool { - s.lock.Lock() - defer s.lock.Unlock() + s.lock.RLock() + defer s.lock.RUnlock() return s.errors != 0 } diff --git a/rclone.go b/rclone.go index 232bbb09b..e66c2c010 100644 --- a/rclone.go +++ b/rclone.go @@ -300,7 +300,7 @@ func Check(fdst, fsrc fs.Fs) { log.Printf("Waiting for checks to finish") checkerWg.Wait() - log.Printf("%d differences found", fs.Stats.Errors) + log.Printf("%d differences found", fs.Stats.GetErrors()) } // List the Fs to stdout