On Mon, Jan 30, 2023 at 03:44:48PM +0000, Richard W.M. Jones wrote: > 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.
That's not accurate, it is not related to IANA service names. > In other words it's not just names of file descriptors that you can > make up. By default the FD name matches the name of the systemd .socket unit file, but it can be set to an arbitrary string using FileDescriptorName=. It is upto the application to decide if it wants to require specific file naming schemes, or is happy to receive the default system .socket based names. With regards, Daniel -- |: https://berrange.com -o- https://www.flickr.com/photos/dberrange :| |: https://libvirt.org -o- https://fstop138.berrange.com :| |: https://entangle-photo.org -o- https://www.instagram.com/dberrange :|
