Looks like parsing is all fine. I recreated the error by enabling debug and seeing the qemu hmp command passed, then I launched my own instance and surfaced the HMP monitor, when I repeated the drive_add command it complained, unknown protocol rbd; this is the result of qemu being launched by libvirt and libvirt's apparmor policy not allowing qemu to mmap the needed block libraries.
Looks like parsing is all fine. I recreated the error by enabling debug and seeing the qemu hmp command passed, then I launched my own instance and surfaced the HMP monitor, when I repeated the drive_add command it complained, unknown protocol rbd; this is the result of qemu being launched by libvirt and libvirt's apparmor policy not allowing qemu to mmap the needed block libraries.
[ 9606.350763] type=1400 audit(144242138 6.001:26) : apparmor="DENIED" operation= "file_mmap" profile= "libvirt- 1b1ecffb- bddc-4825- 8adb-3dce71fbcc 57" name="/ usr/lib/ x86_64- linux-gnu/ qemu/block- curl.so" pid=23428 comm="qemu- system- x86" requested_mask="m" denied_mask="m" fsuid=107 ouid=0 6.001:27) : apparmor="DENIED" operation= "file_mmap" profile= "libvirt- 1b1ecffb- bddc-4825- 8adb-3dce71fbcc 57" name="/ usr/lib/ x86_64- linux-gnu/ qemu/block- rbd.so" pid=23428 comm="qemu- system- x86" requested_mask="m" denied_mask="m" fsuid=107 ouid=0
[ 9606.350902] type=1400 audit(144242138