On Tue, 6 Sept 2022 at 20:41, John Snow <js...@redhat.com> wrote: > Hi, I suspect I have asked this before, but I didn't write it down in > a comment, so I forget my justification... > > In the QMP lib, we need to set a buffering limit for how big a QMP > message can be -- In practice, I found that the largest possible > response was the QAPI schema reply, and I set the code to this: > > # Maximum allowable size of read buffer > _limit = (64 * 1024) > > However, I didn't document if this was a reasonable limit or just a > "worksforme" one. I assume that there's no hard limit for the protocol > or the implementation thereof in QEMU. Is there any kind of value here > that would be more sensible than another? > > I'm worried that if replies get bigger in the future (possibly in some > degenerate case I am presently unaware of) that the library default > will become nonsensical.
There are some QMP commands which return lists of things where we put no inherent limit on how many things there are in the list, like qom-list-types. We'd have to be getting a bit enthusiastic about defining types for that to get up towards 64K's worth of response, but it's not inherently impossible. I think using human-monitor-command to send an 'xp' HMP command is also a way to get back an arbitrarily large string (just ask for a lot of memory to be dumped). -- PMM