Sorry, this is actually an RFC; patch was posted separately. ----- Original Message ----- > From: "Francesco Romani" <from...@redhat.com> > To: qemu-devel@nongnu.org > Cc: kw...@redhat.com, stefa...@redhat.com, lcapitul...@redhat.com, > mdr...@linux.vnet.ibm.com, "Francesco Romani" > <from...@redhat.com> > Sent: Tuesday, July 8, 2014 4:49:23 PM > Subject: [PATCH] add watermark reporting for block devices > > Hello everyone > > I'm one of the oVirt developers (http://www.ovirt.org); > oVirt is a virtualization management application built > around qemu/kvm, so it is nice to get in touch :) > > We have begun a big scalability improvement effort, aiming to > support without problems hundreds of VMs per host, with plans > to support thousands in a not so distant future. > In doing so, we are reviewing our usage flows. > > One of them is thin-provisioned storage, which is used > quite extensively, with block devices (ISCSI for example) > and COW images. > When using thin provisioning, oVirt tries hard to hide this > fact from the guest OS, and to do so watches closely > the usage of the device, and resize it when its usage exceeds > a configured threshold (the "high water mark"), in order > to avoid the guest OS to get paused for space exhausted. > > To do the watching, we poll he devices using libvirt > (virDomainGetBlockInfo), which in turn uses query-blockstats. > This is suboptimal with just one VM, but with hundereds of them, > let alone thousands, it doesn't scale and it is quite a resource > hog. > > Would be great to have this watermark concept supported into qemu, > with a new event to be raised when the limit is crossed. > > To track this RFE I filed https://bugs.launchpad.net/qemu/+bug/1338957 > > Moreover, I had the chance to take a look at the QEMU sources > and come up with this tentative patch which I'd also like > to submit. > > Comments and thoughts very welcome! > > Thanks and best regards, > > Francesco Romani (1): > block: add watermark event > > block.c | 56 > +++++++++++++++++++++++++++++++++++++++++++++++ > blockdev.c | 21 ++++++++++++++++++ > include/block/block.h | 2 ++ > include/block/block_int.h | 3 +++ > qapi/block-core.json | 33 ++++++++++++++++++++++++++++ > qmp-commands.hx | 24 ++++++++++++++++++++ > 6 files changed, 139 insertions(+) > > -- > 1.9.3 > >
-- Francesco Romani RedHat Engineering Virtualization R & D Phone: 8261328 IRC: fromani