close #6669: plugin api: introduce on_update_hook_full() method

The original on_update_hook() method is limited, because only the
updated properties and values are passed in. Introduce a new
on_update_hook_full() method which also receives the current storage
configuration and the list of which properties are to be deleted. This
allows detecting and reacting to all changes and knowing how values
changed.

Deletion of properties is deferred to after the on_update_hook(_full)
call. This makes it possible to pass the unmodified current storage
configuration to the method.

The default implementation of on_update_hook_full() just falls back to
the original on_update_hook().

Bump APIVER and APIAGE.

Signed-off-by: Fiona Ebner <f.ebner@proxmox.com>
This commit is contained in:
Fiona Ebner
2025-10-08 17:11:31 +02:00
committed by Thomas Lamprecht
parent 24367c07d3
commit 0b1331ccda
3 changed files with 59 additions and 3 deletions

View File

@ -48,6 +48,17 @@ Future changes should be documented in here.
Plugins that do not require hints can safely ignore the additional parameter.
* Introduce `on_update_hook_full()` plugin method
The original `on_update_hook()` plugin method was limited, because only the updated properties and
values would be passed in. The new `on_update_hook_full()` plugin method also receives the current
storage configuration and the list of which properties are to be deleted. This allows detecting
and reacting to all changes and knowing how values changed. See also bug #6669 [0] for the initial
motiviation. If a plugin implements `on_update_hook_full()`, that method will be called rather
than the `on_update_hook()` method.
[0]: https://bugzilla.proxmox.com/show_bug.cgi?id=6669
## Version 12:
* Introduce `qemu_blockdev_options()` plugin method