[PATCH 0/4] qemu_passt: Don't let passt fork off

Michal Privoznik posted 4 patches 1 year, 2 months ago
Patches applied successfully (tree, apply log)
git fetch https://github.com/patchew-project/libvirt tags/patchew/cover.1676374699.git.mprivozn@redhat.com
src/qemu/qemu_extdevice.c | 11 +++++++++++
src/qemu/qemu_passt.c     | 15 ++++++++++-----
2 files changed, 21 insertions(+), 5 deletions(-)
[PATCH 0/4] qemu_passt: Don't let passt fork off
Posted by Michal Privoznik 1 year, 2 months ago
Here are some cleanup, as promised here:

https://listman.redhat.com/archives/libvir-list/2023-February/237721.html

Now, there are still some patches missing.

Firstly, we still don't really capture error from passt. My suggestion
was to wait for socket to show up with errfd open. But active wait is
viewed as undesirable [1].

Secondly, Laine reported SELinux issues. Yeah, I don't see us setting
SELinux label on nor socket that passt and QEMU talk to each other, nor
on the log file. Speaking of which - we usually have per domain (or per
helper daemon instance even) log file, while for passt we have a global
one (/var/log/passt.log). I don't think that will fly if two or more
SELinux enabled domains want to use passt.

Thirdly, Stefano suggested a graceful shutdown for passt: have libvirt
connect to the socket and close it. Since we pass --one-off, this should
singal passt to exit. But I haven't implemented that because it's
redundant. We can't rely on passt quitting itself and thus use the big
gun (virPidFileForceCleanupPath()) at which point, the socket way is
just an optimization.

I might look into the first two, at some point. But not today.

1: https://listman.redhat.com/archives/libvir-list/2023-February/237663.html

Michal Prívozník (4):
  Revert "qemu: allow passt to self-daemonize"
  qemu_extdevice: Make qemuExtDevicesHasDevice() check def->nets
  qemu_passt: Report error when getting passt PID failed
  qemu_passt: Don't let passt fork off

 src/qemu/qemu_extdevice.c | 11 +++++++++++
 src/qemu/qemu_passt.c     | 15 ++++++++++-----
 2 files changed, 21 insertions(+), 5 deletions(-)

-- 
2.39.1