diff options
| author | Christian Breunig <christian@breunig.cc> | 2026-09-11 17:37:02 +0200 |
|---|---|---|
| committer | Christian Breunig <christian@breunig.cc> | 2026-09-11 17:37:02 +0200 |
| commit | e1c513a4dc9d8aa63a09330a5104adf1c246ae51 (patch) | |
| tree | e057c1410bcda6fe74b7c485156082f5064e27d8 /src/migration-scripts/system | |
| parent | 148dd2b2f5ac5f0cd3671650aa11100fc293b588 (diff) | |
| download | vyos-1x-e1c513a4dc9d8aa63a09330a5104adf1c246ae51.tar.gz vyos-1x-e1c513a4dc9d8aa63a09330a5104adf1c246ae51.zip | |
tech-support: T5475: do not archive nested mount points below /run
The archive tars /run recursively, and tarfile.add() crosses filesystems. The
retired fork mounted the boot medium and the persistence partition below /live,
so this was harmless. Debian's live-boot mounts them
below /run/live/{medium,persistence,rootfs,overlay}, so the archive now
recurses into the whole system disk, fills the staging directory and fails all
four smoketests with
Unable to read `/run` to archive files: [Errno 28] No space left on device
Introduced by vyos-build commit c598316aa436 ("live-boot: T5475: replace the
forked live-boot package with Debian's").
Prune nested mount points rather than blacklist one live-boot layout: they are
read once from /proc/self/mountinfo, which covers Debian's, upstream's and the
fork's paths alike, plus bind mounts os.path.ismount() cannot see. The archive
root stays exempt, only directories are pruned and /etc/cni/net.d is kept, so
daemon configuration in /run is still archived.
ENOSPC now deletes the partial tarball and aborts.
Diffstat (limited to 'src/migration-scripts/system')
0 files changed, 0 insertions, 0 deletions
