virtio-balloon: use actual number of stats for stats queue buffers
authorLadi Prosek <lprosek@redhat.com>
Tue, 28 Mar 2017 16:46:58 +0000 (18:46 +0200)
committerMichael S. Tsirkin <mst@redhat.com>
Tue, 28 Mar 2017 17:41:28 +0000 (20:41 +0300)
commit9646b26e85896ef0256e66649f7937f774dc18a6
tree7a83243cca7f6c060922911b3a1fb42a57a66ccb
parentfc8653228c8588a120f6b5dad6983b7b61ff669e
virtio-balloon: use actual number of stats for stats queue buffers

The virtio balloon driver contained a not-so-obvious invariant that
update_balloon_stats has to update exactly VIRTIO_BALLOON_S_NR counters
in order to send valid stats to the host. This commit fixes it by having
update_balloon_stats return the actual number of counters, and its
callers use it when pushing buffers to the stats virtqueue.

Note that it is still out of spec to change the number of counters
at run-time. "Driver MUST supply the same subset of statistics in all
buffers submitted to the statsq."

Suggested-by: Arnd Bergmann <arnd@arndb.de>
Signed-off-by: Ladi Prosek <lprosek@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
drivers/virtio/virtio_balloon.c