mirror of
https://github.com/octoleo/restic.git
synced 2024-11-18 02:55:18 +00:00
Merge pull request #1731 from restic/fix-1730
Do not restore sockets, correct error handling
This commit is contained in:
commit
ee5e14d536
@ -76,6 +76,11 @@ func (res *Restorer) restoreTo(ctx context.Context, target, location string, tre
|
||||
continue
|
||||
}
|
||||
|
||||
// sockets cannot be restored
|
||||
if node.Type == "socket" {
|
||||
continue
|
||||
}
|
||||
|
||||
selectedForRestore, childMayBeSelected := res.SelectFilter(nodeLocation, nodeTarget, node)
|
||||
debug.Log("SelectFilter returned %v %v", selectedForRestore, childMayBeSelected)
|
||||
|
||||
@ -95,18 +100,24 @@ func (res *Restorer) restoreTo(ctx context.Context, target, location string, tre
|
||||
|
||||
if selectedForRestore {
|
||||
err = res.restoreNodeTo(ctx, node, nodeTarget, nodeLocation, idx)
|
||||
if err != nil {
|
||||
err = res.Error(nodeLocation, node, errors.Wrap(err, "restoreNodeTo"))
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
}
|
||||
|
||||
// Restore directory timestamp at the end. If we would do it earlier, restoring files within
|
||||
// the directory would overwrite the timestamp of the directory they are in.
|
||||
err = node.RestoreTimestamps(nodeTarget)
|
||||
if err != nil {
|
||||
err = res.Error(nodeLocation, node, errors.Wrap(err, "RestoreTimestamps"))
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return nil
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user