On 02/23/2017 01:21 PM, Peter Krempa wrote: > When using thin provisioning, management tools need to resize the disk > in certain cases. To avoid having them to poll disk fillng introduce an Typo, but a different word sounds better: s/fillng/usage/ > event whic will be fired when a given offset of the storage is written s/whic/which/ > by the hypervisor. Together with the API which will be added later, it > will allow to register thresholds for given storage backing volumes and s/to register/registering/ > this event will then notify management if the threshold is exceeded. > --- > daemon/remote.c | 43 ++++++++++++++++ > examples/object-events/event-test.c | 19 ++++++++ > include/libvirt/libvirt-domain.h | 31 ++++++++++++ > src/conf/domain_event.c | 97 +++++++++++++++++++++++++++++++++++++ > src/conf/domain_event.h | 15 ++++++ > src/libvirt_private.syms | 2 + > src/remote/remote_driver.c | 33 +++++++++++++ > src/remote/remote_protocol.x | 18 ++++++- > src/remote_protocol-structs | 9 ++++ > tools/virsh-domain.c | 21 ++++++++ > 10 files changed, 287 insertions(+), 1 deletion(-) > > +++ b/include/libvirt/libvirt-domain.h > @@ -4175,6 +4175,36 @@ typedef void (*virConnectDomainEventAgentLifecycleCallback)(virConnectPtr conn, > > > /** > + * virConnectDomainEventBlockThresholdCallback: > + * @conn: connection object > + * @dom: domain on which the event occurred > + * @dev: name associated with the affected disk or storage backing chain > + * element > + * @path: for local storage, the path of the backing chain element > + * @threshold: threshold > + * @excess: WTF Supposedly, how much beyond the threshold a write was detected at the time the event was fired. (For example, if I have an 8M file with a threshold at 6M, then the guest does a 2M write at offset 5M, threshold would be 1M, because the write from 5-7M is 1M beyond my threshold of 6M). > + * @opaque: application specified data > + * > + * The callback occurs when the hypervisor detects that the given storage > + * element was written beyond the point specified by @threshold. The excess > + * data size written beyond @threshold is reported by @excess (if supported > + * by the hypervisor, 0 otherwise). The event is useful for thin-provisioned > + * storage. This description is better than the WTF above :) > + * > + * The threshold size can be set via the virDomainSetBlockThreshold API. (added later in the series, but documenting now is fine) Looks okay -- Eric Blake eblake redhat com +1-919-301-3266 Libvirt virtualization library http://libvirt.org
Attachment:
signature.asc
Description: OpenPGP digital signature
-- libvir-list mailing list libvir-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvir-list