On Fri, Oct 16, 2015 at 11:49:00AM +0200, Alberto Garcia wrote: > On Thu 15 Oct 2015 04:58:22 PM CEST, Stefan Hajnoczi wrote: > >> > If I/O accounting isn't being used then all fields will be 0? > >> > >> Yes, but there's no way to tell if that happens because I/O > >> accounting is not supported or because there hasn't been any I/O yet. > >> > >> There's one additional problem: this patch assumes that accounting is > >> supported if this BDS is attached to a BlockBackend. But we don't > >> know if the device model supports accounting or not, I still need to > >> figure out what's the best way to do it. > > > > Is there a corresponding libvirt patch or why does it matter whether > > the QMP client can detect whether blockstats are available? > > I'm thinking that keeping this patch as it is now is probably not very > useful. > > Block statistics are kept in the BlockBackend, so the only BDS that is > going to have data != 0 when you call query-blockstats is the topmost > one. There's probably no need to have an additional flag for this. > > If you disconnect a BlockBackend from a device model that implements > accounting and then connect it to one that does not, there's no way for > the client to know that. That's probably worth exposing in the API, but > this patch does not do that yet, so I think we can skip it for now.
Okay. Stefan