restore: clean up error handling when restoring metadata

- Fix a logic error that instead of reporting the *first*
  metadata-setting error that appears, we were instead reporting the
  *last* error (and only if the lchown call failed!).
- Don't show any errors when setting metadata for files in non-root
  mode (things like timestamps, attributes). Previously, only lchown
  errors were skipped. But other kinds of attribute errors make sense
  to skip as well. The code path happened to work correctly before
  because of the above logic error. But once that was fixed, this
  change needed to happen too.
This commit is contained in:
Michael Terry
2024-07-27 18:55:00 -04:00
parent 8d5e188218
commit 6a97833337
3 changed files with 31 additions and 12 deletions

View File

@@ -0,0 +1,7 @@
Bugfix: Don't ignore metadata-setting errors during restore
Restic was accidentally ignoring errors when setting timestamps,
attributes, or file modes during restore. It will now report those
errors (unless it's just a permission error when not running as root).
https://github.com/restic/restic/pull/4958