Documentation ¶
Index ¶
- Constants
- func GenerateDeltaFileName(name string) string
- func GenerateExpansionSnapshotLabels(size int64) map[string]string
- func GenerateExpansionSnapshotName(size int64) string
- func GenerateSnapTempFileName(fileName string) string
- func GenerateSnapshotDiskMetaName(diskName string) string
- func GenerateSnapshotDiskName(name string) string
- func GetSnapshotNameFromDiskName(diskName string) (string, error)
- func GetSnapshotNameFromTempFileName(tmpFileName string) (string, error)
- func IsHeadDisk(diskName string) bool
- func LoadDiffDiskLocationList(diffDisk *diffDisk, disk types.DiffDisk, currentFileIndex byte) error
- type BackupStatus
- func (rb *BackupStatus) CloseSnapshot(snapID, volumeID string) error
- func (rb *BackupStatus) CompareSnapshot(snapID, compareSnapID, volumeID string) (*backupstore.Mappings, error)
- func (rb *BackupStatus) HasSnapshot(snapID, volumeID string) bool
- func (rb *BackupStatus) OpenSnapshot(snapID, volumeID string) error
- func (rb *BackupStatus) ReadSnapshot(snapID, volumeID string, start int64, data []byte) error
- func (rb *BackupStatus) UpdateBackupStatus(snapID, volumeID string, progress int, url string, errString string) error
- type DiskInfo
- type Info
- type PrepareRemoveAction
- type ProgressState
- type Replica
- func (r *Replica) Chain() ([]string, error)
- func (r *Replica) Close() error
- func (r *Replica) CloseWithoutWritingMetaData()
- func (r *Replica) Delete() error
- func (r *Replica) DisplayChain() ([]string, error)
- func (r *Replica) Expand(size int64) (err error)
- func (r *Replica) GetDataLayout(ctx context.Context) (<-chan sparse.FileInterval, <-chan error, error)
- func (r *Replica) GetRemainSnapshotCounts() int
- func (r *Replica) GetReplicaStat() (int64, int64)
- func (r *Replica) GetRevisionCounter() int64
- func (r *Replica) Info() Info
- func (r *Replica) IsRevCounterDisabled() bool
- func (r *Replica) ListDisks() map[string]DiskInfo
- func (r *Replica) MarkDiskAsRemoved(name string) error
- func (r *Replica) Preload(includeBackingFileLayer bool) error
- func (r *Replica) PrepareRemoveDisk(name string) ([]PrepareRemoveAction, error)
- func (r *Replica) ReadAt(buf []byte, offset int64) (int, error)
- func (r *Replica) Reload() (*Replica, error)
- func (r *Replica) RemoveDiffDisk(name string, force bool) error
- func (r *Replica) ReplaceDisk(target, source string) error
- func (r *Replica) Revert(name, created string) (*Replica, error)
- func (r *Replica) SetRebuilding(rebuilding bool) error
- func (r *Replica) SetRevisionCounter(counter int64) error
- func (r *Replica) Snapshot(name string, userCreated bool, created string, labels map[string]string) error
- func (r *Replica) WriteAt(buf []byte, offset int64) (int, error)
- type RestoreStatus
- func (status *RestoreStatus) DeepCopy() *RestoreStatus
- func (status *RestoreStatus) FinishRestore()
- func (status *RestoreStatus) Revert(previousStatus *RestoreStatus)
- func (status *RestoreStatus) StartNewRestore(backupURL, currentRestoringBackup, toFileName, snapshotDiskName string, ...)
- func (status *RestoreStatus) UpdateRestoreStatus(snapshot string, rp int, re error)
- type Server
- func (s *Server) Close() error
- func (s *Server) Create(size int64) error
- func (s *Server) Delete() error
- func (s *Server) Expand(size int64) error
- func (s *Server) MarkDiskAsRemoved(name string) error
- func (s *Server) Open() error
- func (s *Server) PingResponse() error
- func (s *Server) PrepareRemoveDisk(name string) ([]PrepareRemoveAction, error)
- func (s *Server) ReadAt(buf []byte, offset int64) (int, error)
- func (s *Server) Reload() error
- func (s *Server) RemoveDiffDisk(name string, force bool) error
- func (s *Server) ReplaceDisk(target, source string) error
- func (s *Server) Replica() *Replica
- func (s *Server) Revert(name, created string) error
- func (s *Server) SetRebuilding(rebuilding bool) error
- func (s *Server) SetRevisionCounter(counter int64) error
- func (s *Server) Snapshot(name string, userCreated bool, createdTime string, labels map[string]string) error
- func (s *Server) Status() (types.ReplicaState, Info)
- func (s *Server) WriteAt(buf []byte, offset int64) (int, error)
Constants ¶
View Source
const ( ProgressStateInProgress = ProgressState("in_progress") ProgressStateComplete = ProgressState("complete") ProgressStateError = ProgressState("error") )
View Source
const ( OpCoalesce = "coalesce" // Source is parent, target is child OpRemove = "remove" OpReplace = "replace" OpPrune = "prune" // Remove overlapping chunks from the source. )
View Source
const MaxExtentsBuffer = 1024
Variables ¶
This section is empty.
Functions ¶
func GenerateDeltaFileName ¶
func IsHeadDisk ¶
Types ¶
type BackupStatus ¶
type BackupStatus struct { SnapshotID string Error string Progress int BackupURL string State ProgressState IsIncremental bool // contains filtered or unexported fields }
func NewBackup ¶
func NewBackup(backingFile *backingfile.BackingFile) *BackupStatus
func (*BackupStatus) CloseSnapshot ¶
func (rb *BackupStatus) CloseSnapshot(snapID, volumeID string) error
func (*BackupStatus) CompareSnapshot ¶
func (rb *BackupStatus) CompareSnapshot(snapID, compareSnapID, volumeID string) (*backupstore.Mappings, error)
func (*BackupStatus) HasSnapshot ¶
func (rb *BackupStatus) HasSnapshot(snapID, volumeID string) bool
func (*BackupStatus) OpenSnapshot ¶
func (rb *BackupStatus) OpenSnapshot(snapID, volumeID string) error
func (*BackupStatus) ReadSnapshot ¶
func (rb *BackupStatus) ReadSnapshot(snapID, volumeID string, start int64, data []byte) error
func (*BackupStatus) UpdateBackupStatus ¶
type Info ¶
type Info struct { Size int64 Head string Dirty bool Rebuilding bool Error string Parent string SectorSize int64 BackingFilePath string BackingFile *backingfile.BackingFile `json:"-"` }
type PrepareRemoveAction ¶
type ProgressState ¶
type ProgressState string
type Replica ¶
func New ¶
func New(size, sectorSize int64, dir string, backingFile *backingfile.BackingFile, disableRevCounter bool) (*Replica, error)
func NewReadOnly ¶
func NewReadOnly(dir, head string, backingFile *backingfile.BackingFile) (*Replica, error)
func OpenSnapshot ¶ added in v1.2.0
func (*Replica) CloseWithoutWritingMetaData ¶ added in v1.2.0
func (r *Replica) CloseWithoutWritingMetaData()
func (*Replica) DisplayChain ¶
func (*Replica) GetDataLayout ¶ added in v1.2.0
func (*Replica) GetRemainSnapshotCounts ¶
func (*Replica) GetReplicaStat ¶ added in v1.1.0
func (*Replica) GetRevisionCounter ¶
func (*Replica) IsRevCounterDisabled ¶ added in v1.1.0
func (*Replica) MarkDiskAsRemoved ¶
func (*Replica) PrepareRemoveDisk ¶
func (r *Replica) PrepareRemoveDisk(name string) ([]PrepareRemoveAction, error)
func (*Replica) ReplaceDisk ¶
func (*Replica) SetRebuilding ¶
func (*Replica) SetRevisionCounter ¶
type RestoreStatus ¶
type RestoreStatus struct { sync.RWMutex Progress int Error string BackupURL string State ProgressState // The file that (temporarily) stores the data during the restoring. ToFileName string // The snapshot file that stores the restored data in the end. SnapshotDiskName string LastRestored string CurrentRestoringBackup string // contains filtered or unexported fields }
func NewRestore ¶
func NewRestore(snapshotName, replicaAddress, backupURL, currentRestoringBackup string) *RestoreStatus
func (*RestoreStatus) DeepCopy ¶ added in v1.0.1
func (status *RestoreStatus) DeepCopy() *RestoreStatus
func (*RestoreStatus) FinishRestore ¶
func (status *RestoreStatus) FinishRestore()
func (*RestoreStatus) Revert ¶ added in v1.1.0
func (status *RestoreStatus) Revert(previousStatus *RestoreStatus)
Revert is used for reverting the current restore status to the previous status. This function will be invoked when:
- The new restore is failed before the actual restore is performed.
- The existing files are not modified.
- The current status has been updated/initialized for the new restore.
If there is no modification applied on the existing replica disk files after the restore failure, it means the replica is still available. In order to make sure the replica work fine for the next restore and the status is not messed up, the revert is indispensable.
func (*RestoreStatus) StartNewRestore ¶ added in v1.1.0
func (status *RestoreStatus) StartNewRestore(backupURL, currentRestoringBackup, toFileName, snapshotDiskName string, validLastRestoredBackup bool)
func (*RestoreStatus) UpdateRestoreStatus ¶
func (status *RestoreStatus) UpdateRestoreStatus(snapshot string, rp int, re error)
type Server ¶
func NewServer ¶
func NewServer(dir string, backing *backingfile.BackingFile, sectorSize int64, disableRevCounter bool) *Server
func (*Server) MarkDiskAsRemoved ¶
func (*Server) PingResponse ¶
func (*Server) PrepareRemoveDisk ¶
func (s *Server) PrepareRemoveDisk(name string) ([]PrepareRemoveAction, error)
func (*Server) ReplaceDisk ¶
func (*Server) SetRebuilding ¶
func (*Server) SetRevisionCounter ¶
Source Files ¶
Click to show internal directories.
Click to hide internal directories.