Commit 1bcaec1
committed
tools/qvm-run: use prefix_data feature instead of copy_stdin subprocess
Now that both qrexec-client and qrexec-client-vm supports --prefix-data
feature, it can be used to feed the initial command to qubes.VMShell
service. This means, the python part does not need write to stdin
anymore, and qrexec's stdin can be connected directly to the qvm-run's
stdi /dev/null if not needed).
This avoids one data copy, but also removes multiprocessing.Process
usage, which is problematic on Python 3.14 (it needs all arguments to be
pickle-able due to changed start method).
This change has a minor side effect: when using `qvm-run --dispvm=...`
with a shell command, the admin.vm.feature.CheckWithTemplate+os call is now
directed to the disposable template (before starting the disposable
qube), instead of at the new disposable qube itself. This is because the
shell command to inject now needs to be assembled before starting the
disposable.
Fixes QubesOS/qubes-issues#108551 parent ea5f4cb commit 1bcaec1
2 files changed
Lines changed: 111 additions & 175 deletions
0 commit comments