You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This commit was created on GitHub.com and signed with GitHub’s verified signature.
What's Changed
Changed
Backup and restore progress now weights the rsync transfer far above the
pre/post hooks, so the bar tracks the copy. Every progress phase — the
optional pre/post hooks and each rsync sync — previously carried equal weight,
so on a typical single-volume package the instant pre-backup hook alone
accounted for a third of the bar while the rsync (the part that actually takes
time) was squeezed into a band too narrow for its fractional progress to move
the rounded total: it sat at 33% for the whole transfer and then jumped. Each
rsync sync phase now defaults to weight 80 (DEFAULT_SYNC_WEIGHT) and each
pre/post hook phase to 10 (DEFAULT_HOOK_WEIGHT), and a pre/post phase is
added only when that hook is actually set — so a hook-less backup is just its
rsync phase(s) and tracks the copy directly. All weights are overridable: setPreBackup / setPostBackup / setPreRestore / setPostRestore take an
optional second weight argument, and a sync's weight is set via the new BackupSync.weight field (or the weight key on addVolume's options).
Pre/post hooks now receive a PhaseHandle for their own phase rather than a
full sub-tracker.
createBackup no longer marks its own progress tracker complete. The
StartOS backup harness owns per-package completion and holds the phase open
until the package's .s9pk image has finished writing to the backup target,
so a package reports 100% and "still working" during the image write rather
than a premature "done". Restore is driven by the init harness and was already
finalized externally, so it is unchanged in this respect.