On Wed, Sep 30, 2020 at 09:40:59AM +0100, Richard W.M. Jones wrote: > I understand that QSD is at an early stage of development and I'm sure > you have plans to fix these things. Nevertheless here are my comments > after trying to add an interop test with libnbd. > > (1) Documentation! (Or complete lack of it ...) I had to ask Kevin > how to construct the command line because several things were not > obvious. In particular the --blockdev parameters only make sense if > you're already used to constructing blockdev parameters (and these > are, separately, not well-documented). And you have to supply the > parameters in a particular order on the command line, else it doesn't > work. > > (2) There seems to be no --pid-file option, so there's no way of > knowing when the server is ready to accept connections, except to > start QSD and then "sleep for a bit".
It supports QMP via the normal chardev framework, so you can pre-create a UNIX listener socket and pass in the pre-opened FD. The parent just sends the QMP handshake, and waits until it gets EOF (exited during startup) or gets the QMP response (successfully running). > > (3) Seems to be no support for either serving requests over > stdin/stdout (qemu-nbd also lacks this, but it's common for other NBD > servers); or for systemd socket activation (qemu-nbd supports this). > > (4) Some parameter names changed between 5.1 and upstream. I > understand that you're still finalizing the command line, so this > isn't a problem in itself, but others who try to use QSD will need to > be aware of it. 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 :|