mirror of
https://github.com/kopia/kopia.git
synced 2026-01-28 16:23:04 -05:00
Protect filesystem subtrees from concurrent manipulation during critical sections if engine actions are called asynchronously. This change provides coordination between the `Snapshotter` and the `FileWriter`. For example, the `FileWriter` should be blocked from perturbing the same directory tree if a Gather-Snapshot is taking place along that tree simultaneously. This will ensure the fingerprint data accumulated during the `Gather` phase will correspond unambiguously to the data included in the snapshot. Extend build flags to kopia snapshotter This package now imports fswalker which can only be built for darwin,amd64 or linux,amd64
28 lines
873 B
Go
28 lines
873 B
Go
package robustness
|
|
|
|
import (
|
|
"errors"
|
|
"fmt"
|
|
)
|
|
|
|
var (
|
|
// ErrNoOp is thrown when an action could not do anything useful.
|
|
ErrNoOp = fmt.Errorf("no-op")
|
|
|
|
// ErrCannotPerformIO is returned if the engine determines there is not enough space
|
|
// to write files.
|
|
ErrCannotPerformIO = fmt.Errorf("cannot perform i/o")
|
|
|
|
// ErrNoActionPicked is returned if a random action could not be selected.
|
|
ErrNoActionPicked = errors.New("unable to pick an action with the action control options provided")
|
|
|
|
// ErrInvalidOption is returned if an option value is invalid or missing.
|
|
ErrInvalidOption = errors.New("invalid option setting")
|
|
|
|
// ErrKeyNotFound is returned when the store can't find the key provided.
|
|
ErrKeyNotFound = errors.New("key not found")
|
|
|
|
// ErrMetadataMissing is returned when the metadata can't be found.
|
|
ErrMetadataMissing = errors.New("metadata missing")
|
|
)
|