aboutsummaryrefslogtreecommitdiff
path: root/weed/shell/common.go
diff options
context:
space:
mode:
authorLisandro Pin <lisandro.pin@proton.ch>2025-12-02 18:29:27 +0100
committerGitHub <noreply@github.com>2025-12-02 09:29:27 -0800
commitee775825bcd46911adeb811241bad56836dab05f (patch)
tree7e29e7e89670f907616b338c485f9428a73a0378 /weed/shell/common.go
parent733ca8e6df3de57e2dcc0923fb2f166d3222921d (diff)
downloadseaweedfs-ee775825bcd46911adeb811241bad56836dab05f.tar.xz
seaweedfs-ee775825bcd46911adeb811241bad56836dab05f.zip
Parallelize read-only volume check pass for `volume.check.disk`. (#7602)
Diffstat (limited to 'weed/shell/common.go')
-rw-r--r--weed/shell/common.go8
1 files changed, 8 insertions, 0 deletions
diff --git a/weed/shell/common.go b/weed/shell/common.go
index 43571176e..cb2df5828 100644
--- a/weed/shell/common.go
+++ b/weed/shell/common.go
@@ -2,6 +2,7 @@ package shell
import (
"errors"
+ "fmt"
"sync"
)
@@ -64,6 +65,13 @@ func (ewg *ErrorWaitGroup) Add(f ErrorWaitGroupTask) {
}()
}
+// AddErrorf adds an error to an ErrorWaitGroupTask result, without queueing any goroutines.
+func (ewg *ErrorWaitGroup) AddErrorf(format string, a ...interface{}) {
+ ewg.errorsMu.Lock()
+ ewg.errors = append(ewg.errors, fmt.Errorf(format, a...))
+ ewg.errorsMu.Unlock()
+}
+
// Wait sleeps until all ErrorWaitGroupTasks are completed, then returns errors for them.
func (ewg *ErrorWaitGroup) Wait() error {
ewg.wg.Wait()