diff options
| author | Christian Breunig <christian@breunig.cc> | 2026-10-08 16:30:08 +0200 |
|---|---|---|
| committer | Christian Breunig <christian@breunig.cc> | 2026-10-08 16:30:08 +0200 |
| commit | 7f4e17413c44c65a759e0be380f3fe60b01b754d (patch) | |
| tree | 886a17cf25420806e3e775e65f561702524c3f01 /src/services/api/graphql | |
| parent | 1ac0219e62c7b0efee9e81e7266558dffc7b14e6 (diff) | |
| download | vyos-1x-7f4e17413c44c65a759e0be380f3fe60b01b754d.tar.gz vyos-1x-7f4e17413c44c65a759e0be380f3fe60b01b754d.zip | |
vyos-router: T9447: stop copying a directory when restoring the bootup hooks
A boot whose configuration directory carries no pre/post-config hook scripts
copies them out of the running image. That copy named the image root twice,
because the image's squashfs is mounted at two paths and the variable holding
it kept both. One extra operand reached cp as a bare directory:
cp: -r not specified; omitting directory '/run/live/rootfs/<image>.squashfs'
The hook itself still landed, so nothing broke, but the copy reported failure
and was one word-split away from restoring the wrong file. It shows up where
the encrypted configuration volume stays shut, leaving the directory beneath
it empty.
The image root is now a single path, the two identical restore paths share one
implementation, and a copy that fails is logged rather than passing silently.
A missing hook is not escalated - on a first boot that would hand the system to
the upgrade-failure rollback.
Diffstat (limited to 'src/services/api/graphql')
0 files changed, 0 insertions, 0 deletions
