Say that a symlink is recorded, not read
check / check (push) Failing after 2m59s

A new or changed symlink goes through recordNonRegularFile in the
scanner and is never opened. README.md, ARCHITECTURE.md and
docs/DATAMODEL.md now say so where they describe what a backup reads,
and README.md no longer lists a changed link target as a reason to
read a file.

Model: fable-5-1
This commit is contained in:
clawbot committed 2026-11-09 03:45:38 +00:00
1 parent c77c1c20c9
commit 028e5ffced
3 files changed
+7 -6

No files matched your search

+2 -1
View File
@@ -173,7 +173,8 @@ A new `Scanner` is created for each snapshot, from `ScannerFactory`. It owns a
had and that are now gone. had and that are now gone.
- `batchAddFilesToSnapshot` records the unchanged files in the new snapshot. - `batchAddFilesToSnapshot` records the unchanged files in the new snapshot.
- `recordDirectories` records every directory, and the mount points found. - `recordDirectories` records every directory, and the mount points found.
- `processPhase` reads each changed file and stores it. - `processPhase` reads each changed regular file and stores it. It records each
changed symlink.
The walk handles each kind of entry differently: The walk handles each kind of entry differently:
+4 -4
View File
@@ -326,11 +326,11 @@ holds:
- Its modification time has changed. - Its modification time has changed.
- Its mode has changed. - Its mode has changed.
- Its owner or group has changed. - Its owner or group has changed.
- Its link target has changed.
- No uploaded blob holds one of its chunks. This happens when the only snapshot - No uploaded blob holds one of its chunks. This happens when the only snapshot
that used the blob holding that chunk is removed. that used the blob holding that chunk is removed.
Every other file is recorded in the new snapshot without being read. Every other file is recorded in the new snapshot without being read. A symlink
has no content to read, so it is only recorded.
Flags: Flags:
@@ -730,8 +730,8 @@ Deletes the local index file. The destination is not changed.
It needs a config file that loads, because the config gives the path of the It needs a config file that loads, because the config gives the path of the
index. index.
The next backup then reads every file again. It skips the upload of a blob that The next backup then reads every regular file again. It skips the upload of a
the destination already holds under the same name. blob that the destination already holds under the same name.
Use this command after you point the config at a different destination. See Use this command after you point the config at a different destination. See
[Changing the destination](#changing-the-destination). [Changing the destination](#changing-the-destination).
+1 -1
View File
@@ -316,7 +316,7 @@ in any of these:
- link target - link target
A file is also read again when it lists a chunk that no uploaded blob holds. A A file is also read again when it lists a chunk that no uploaded blob holds. A
file with no row in `files` is read too. regular file with no row in `files` is read too.
Storing a changed file writes these rows: Storing a changed file writes these rows: