Michael Eischer
4a9603d253
fs: test correct xattr handling for symlinks
2024-11-30 19:17:25 +01:00
Michael Eischer
088bfac903
fs: test both fd and path-based implementation
2024-11-30 19:17:25 +01:00
Michael Eischer
9a0259cd0f
fs: enable fd-based handles on Linux/macOS/Windows
2024-11-30 19:17:25 +01:00
Michael Eischer
4b33540148
fs: wire up fd-based handles for fs.Local
2024-11-30 19:17:25 +01:00
Michael Eischer
1b87468531
fs: add file handle helpers for reading
2024-11-30 19:17:25 +01:00
Michael Eischer
f1ae5a21e2
fs: implement file reopening
2024-11-30 19:17:25 +01:00
Michael Eischer
c0d727dfed
fs: correctly handle O_NOFOLLOW for xattr / generic attribute retrieval
2024-11-30 19:17:25 +01:00
Michael Eischer
67c0387cfe
fs: sanitize path in fd based xattr reading on Linux
...
The xattrs are read from /proc/self/fd/%d but instead show the original
file path to make the error message more useful.
2024-11-30 19:17:25 +01:00
Michael Eischer
6e4c7f9b50
fs: add file handle based xattrs
2024-11-30 19:17:25 +01:00
Michael Eischer
e7d2922019
fs: make generic attribute reading file handle based
2024-11-30 19:17:25 +01:00
Michael Eischer
2a5bbf170d
fs: implement and use filehandle based readlink
...
The implementations are 90% copy&paste from the go standard library as
the existing code does not offer any way to read the symlink target
based on a filehandle.
Fall back to a standard readlink on platforms other than Linux and
Windows as those either don't even provide the necessary syscall or in
case of macOS are not yet available in Go.
2024-11-30 19:17:25 +01:00
Michael Eischer
8072b999a6
fs: add file handle helpers
2024-11-30 19:17:25 +01:00
Michael Eischer
ea1446f50b
fs: prepare fd based metadataHandle
...
Add the skeleton, but leave filling in the details to later commits.
2024-11-30 19:17:25 +01:00
Michael Eischer
e70fa4f9f5
fs: abstract away filesystem ops from nodeFromFileInfo
2024-11-30 19:17:25 +01:00
Michael Eischer
0bf8af7188
Merge pull request #5138 from vmlemon/issue-5131
...
Implement basic DragonFlyBSD support
2024-11-30 17:32:59 +01:00
Michael Eischer
9a674ecc34
Merge pull request #5146 from MichaelEischer/inline-extended-stat
...
fs: Inline ExtendedFileInfo
2024-11-30 17:23:34 +01:00
Michael Eischer
9a99141a5f
fs: remove os.FileInfo from fs.ExtendedFileInfo
...
Only the `Sys()` value from os.FileInfo is kept as field `sys` to
support Windows. The os.FileInfo removal ensures that for values like
`ModTime` that existed in both data structures there's no more confusion
which value is actually used.
2024-11-30 17:07:36 +01:00
Michael Eischer
847b2efba2
archiver: remove fs parameter from fileChanged function
2024-11-30 16:19:16 +01:00
Michael Eischer
641390103d
fs: inline ExtendedStat
2024-11-30 16:19:16 +01:00
Michael Eischer
806fa534ce
Merge pull request #5145 from MichaelEischer/ignore-disappeared-files
...
backup: Ignore disappeared files
2024-11-30 16:15:31 +01:00
Michael Eischer
5df6bf80b1
fs: retry vss creation on VSS_E_SNAPSHOT_SET_IN_PROGRESS error
...
Depending on the change packages, the VSS tests from ./cmd/restic and
the fs package may overlap in time. This causes the snapshot creation to
fail. Add retries in that case.
2024-11-30 16:07:18 +01:00
Michael Eischer
dc89aad722
build dragonflybsd binaries
2024-11-30 15:47:39 +01:00
Tyson Key
3c0ceda536
Add basic support for DragonFlyBSD
2024-11-30 15:42:15 +01:00
Michael Eischer
c5fb46da53
archiver: ignore files removed in the meantime
2024-11-30 15:30:42 +01:00
Michael Eischer
8642049532
Merge pull request #5143 from MichaelEischer/fs-handle-interface
...
fs: rework FS interface to be handle based
2024-11-30 15:29:31 +01:00
Michael Eischer
8644bb145b
Merge pull request #5134 from MichaelEischer/better-time-restore-error
...
restore: improve error if timestamp fails to restore
2024-11-30 13:09:33 +01:00
Michael Eischer
a5c49e5340
Merge pull request #5142 from MichaelEischer/fix-not-ordered-error-message
...
restic: add missing space in error message
2024-11-29 22:48:16 +01:00
Michael Eischer
b51bf0c0c4
fs: test File implementation of Local FS
2024-11-16 16:09:17 +01:00
Michael Eischer
6cb19e0190
archiver: fix file type change test
...
The test did not test the case that the type of a file changed
unexpectedly.
2024-11-16 16:09:17 +01:00
Michael Eischer
d7f4b9db60
fs: deduplicate placeholders for generic and xattrs
2024-11-16 16:09:17 +01:00
Michael Eischer
087f95a298
fs: make generic and extended attrs independent of each other
2024-11-16 15:38:56 +01:00
Michael Eischer
6084848e5a
fs: fix O_NOFOLLOW for metadata handles on Windows
2024-11-16 15:38:56 +01:00
Michael Eischer
48dbefc37e
fs / archiver: convert to handle based interface
...
The actual implementation still relies on file paths, but with the
abstraction layer in place, an FS implementation can ensure atomic file
accesses in the future.
2024-11-16 12:56:23 +01:00
Michael Eischer
2f2ce9add2
fs: remove Stat from FS interface
2024-11-16 12:56:23 +01:00
Michael Eischer
623ba92b98
fs: drop unused permission parameter from OpenFile
2024-11-16 12:56:23 +01:00
Michael Eischer
b402e8a6fc
fs: stricter enforcement to only call readdir on a directory
...
Use O_DIRECTORY to prevent opening any other than a directory in
readdirnames.
2024-11-16 12:56:23 +01:00
Michael Eischer
f8031561f2
archiver: deduplicate error filtering
2024-11-15 17:58:06 +01:00
Michael Eischer
49ef3ebec3
restic: add missing space in error message
2024-11-15 17:52:09 +01:00
Michael Eischer
1133498ef8
Merge pull request #5046 from konidev20/fix-gh-4521-azure-blob-storage-add-support-for-access-tiers
...
azure: add support for access tiers hot, cool and cold
2024-11-11 22:01:52 +01:00
Michael Eischer
9c758313e3
Merge pull request #5119 from MichaelEischer/backup-json-start-end-time
...
backup: include start and end time in json output
2024-11-11 21:50:30 +01:00
Michael Eischer
82c5043fc9
Reduce checkboxes in PR checklist ( #5120 )
...
The basics around how to format commits and PR settings are primarily
relevant when opening a PR for the first time. But for repeated
contributors it is tedious to always tick those checkboxes.
Co-authored-by: rawtaz <rawtaz@users.noreply.github.com>
2024-11-11 21:49:26 +01:00
Michael Eischer
a73ae7ba1a
restore: improve error if timestamp fails to restore
2024-11-11 21:37:28 +01:00
Michael Eischer
bd16804812
Merge branch 'patch-release'
2024-11-09 11:43:01 +01:00
Alexander Neumann
e2a98aa955
Set development version for 0.17.3
2024-11-08 20:36:48 +01:00
Alexander Neumann
bc64921a8e
Add version for 0.17.3
2024-11-08 20:36:36 +01:00
Alexander Neumann
633883bdb6
Generate CHANGELOG.md for 0.17.3
2024-11-08 20:36:25 +01:00
Alexander Neumann
8348024664
Prepare changelog for 0.17.3
2024-11-08 20:36:25 +01:00
Michael Eischer
c3f5748e5b
Merge pull request #5126 from restic/polish-changelogs
...
doc: Polish changelogs before release
2024-11-04 19:32:03 +01:00
Leo R. Lundgren
06ba4af436
doc: Polish changelogs before release
2024-11-03 22:55:06 +01:00
Michael Eischer
fb4d9b3232
Merge pull request #5125 from restic/patch-release-cherrypicks
...
Prepare patch release
2024-11-03 22:24:49 +01:00