On Wed, Sep 30, 2020 at 09:49:00AM +0100, Daniel P. Berrangé wrote: > 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).
This is all fine when run from libvirt (and I do understand that QSD is all about that, not necessarily a standalone general purpose server), but also that's a massive hassle for anyone else trying to use QSD. I'm not confident I could correctly formulate the set of QMP commands that would be needed to make this work, even with the documentation and full source code. Also this moves the problem to "when is the chardev socket ready", especially when not using chardev over stdio. Rich. -- Richard Jones, Virtualization Group, Red Hat http://people.redhat.com/~rjones Read my programming and virtualization blog: http://rwmj.wordpress.com virt-top is 'top' for virtual machines. Tiny program with many powerful monitoring features, net stats, disk stats, logging, etc. http://people.redhat.com/~rjones/virt-top