On Mon, Jan 30, 2023 at 02:58:01PM +0000, Daniel P. Berrangé wrote: > Obviously at startup QEMU can trivially inherit the FDs from whatever > spawned it. The only task is to identify the FDs that are passed into, > and systemd defined a mechanism for this using LISTEN_FDNAMES. IOW the > socket activation can fully replace 'getfd' for purpose of initial > startup. This will get rid of the annoying difference that SocketAddress > only allows numeric FDs at startup and named FDs at runtime, by making > named FDs the consistent standard. We could thus deprecate the use of > non-named numeric FDs in SocketAddress to improve our sanity. > > The question is how to define semantics for the LISTEN_FDNAMES while > also still remaining back compat with the existing QEMU utilities > that allow socket activation. Some kind of naming scheme would need > to be decided upon, as well as handling the use of activation without > LISTEN_FDNAMES being set.
If I understand LISTEN_FDNAMES correctly, it's the names of the protocols to be used (rather clumsily expressed through IANA registered names from /etc/services). It would be valid to use LISTEN_FDNAMES=http:http for example, for a service that must use HTTP on both sockets. In other words it's not just names of file descriptors that you can make up. However as there is zero documentation for this environment variable, who knows what it's really supposed to be ... Rich. -- Richard Jones, Virtualization Group, Red Hat http://people.redhat.com/~rjones Read my programming and virtualization blog: http://rwmj.wordpress.com nbdkit - Flexible, fast NBD server with plugins https://gitlab.com/nbdkit/nbdkit