Parallelize read-only volume check pass for volume.check.disk. (#7602)
This commit is contained in:
@@ -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()
|
||||
|
||||
Reference in New Issue
Block a user