Fix the remaining review findings and settle the open decisions #4
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "remaining-findings"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
The remaining findings of the code review: 11 of medium and 22 of low severity, one commit per finding, plus the three
decisions taken on the points the review left open. Pull requests #1 to #3 covered the critical and the high ones.
Migration
btrfs-convertis asked to keep the label; device-mapper volumes (LUKS, LVM) are found under either of their namesand known by their name alone.
migration is shown instead of overwritten.
a Steam library or a game that appeared after the plan was made, or a file that was changed, added or deleted after
the backup, ends the run with its path and asks for a new plan. Nothing is changed on the drive. Files whose times
differ are read and compared, so a backup drive that cannot store a time is no reason to refuse. A drive the helper
left unmounted has to be mounted first. The step is announced and can be cancelled.
check counts what is replaced as free, and nothing else in the folder is touched. The restore copies back only the
Steam files of its own plan. A copy gets the time its file had before it was read. A folder that cannot be read
counts as data, never as empty.
mkfs.ext4case: root owns the top folder, the user the folders below). Until now, copying the backup back failedwith "permission denied" after the drive had been formatted. The run says so in a warning.
Compression
accepted.
compressor leaves alone count no savings.
before each game.
ogc compresswithout--levelkeeps the level recorded for a game instead of rewriting it with level 3, andreads the records after it has waited for another run to finish.
Desktop app
shown as completed; library rows keep their state across a reload.
follows a running migration.
Tests, CI and packaging
LANGUAGEtakes precedence overthe locale.
directory; the VM test works with rootless podman and installs qemu without a partial upgrade.
Checked
cargo fmt --check,cargo clippy --all-targets -- -D warningswith and without the desktop appconvert redownload label resume mapper); theredownloadscenario now alsocovers a folder created after the plan, a drive the helper left unmounted, a save game rewritten and a file deleted
after the backup, and a second plan whose backup goes over the first
two cancel checks in the same function
checkjob of the CI workflow in a fresh Arch containerNot checked here
These need a real desktop or real hardware: the changes in the running desktop app, a compression run over Proton's
read-only files in a real library, Steam as a Flatpak, a real LUKS or LVM volume, reinstalling a game at the same
build, and a re-download on a drive whose top folder belongs to root (the owner change is covered by unit tests only,
because the VM test runs as root).
btrfs-convert was called without --copy-label. By its documentation and by what it prints ("Target filesystem: Label:" is empty), the new filesystem then has no label, while formatting has always passed the old one on. A drive without an fstab entry, which the desktop mounts under /run/media/<user>/<label>, would come back under its UUID after the next login, and the Steam library path would be gone. btrfs-progs 7.1 happens to keep the label anyway, so nothing was lost with that version. The option is passed now instead of relying on it, the image test creates its ext4 image with a label and expects it after the conversion, and the VM scenarios `convert` and `label` check it on the real drive.