* src/qemu/qemu_process.c (qemuProcessStart, qemuProcessStop): Fix
typos.
* docs/hooks.html.in: Document 'prepare' and 'release' hooks.
---
Now there is a small TODO left consisting of extending the
documentation about those two, and maybe look if the LXC driver could
support those hooks too,
I'm not a fan of releasing undocumented stuff. I didn't touch lxc
(that can be a later day), but this should fix the qemu docs.
docs/hooks.html.in | 23 +++++++++++++++++++----
src/qemu/qemu_process.c | 4 ++--
2 files changed, 21 insertions(+), 6 deletions(-)
diff --git a/docs/hooks.html.in b/docs/hooks.html.in
index 3503f8c..eec7a6a 100644
--- a/docs/hooks.html.in
+++ b/docs/hooks.html.in
@@ -100,11 +100,26 @@
<h5><a
name="qemu">/etc/libvirt/hooks/qemu</a></h5>
<ul>
- <li>When a QEMU guest is started, the qemu hook script is called
as:<br/>
- <pre>/etc/libvirt/hooks/qemu guest_name start begin
-</pre></li>
+ <li>Before a QEMU guest is started, the qemu hook script is
+ called in two locations; if either location fails, the guest
+ is not started. The first location, <span class="since">since
+ 0.9.0</span>, is before libvirt performs any resource
+ labeling, and the hook can allocate resources not managed by
+ libvirt such as DRBD or missing bridges. This is called as:</br>
+ <pre>/etc/libvirt/hooks/qemu guest_name prepare begin -</pre>
+ The second location, available <span class="since">Since
+ 0.8.0</span>, occurs after libvirt has finished labeling
+ all resources, but has not yet started the guest, called as:</br>
+ <pre>/etc/libvirt/hooks/qemu guest_name start begin
-</pre></li>
<li>When a QEMU guest is stopped, the qemu hook script is called
- as:<br/>
- <pre>/etc/libvirt/hooks/qemu guest_name stopped end
-</pre></li>
+ in two locations, to match the startup.
+ First, <span class="since">since 0.8.0</span>, the hook is
+ called before libvirt restores any labels:</br>
+ <pre>/etc/libvirt/hooks/qemu guest_name stopped end -</pre>
+ Then, after libvirt has released all resources, the hook is
+ called again, <span class="since">since 0.9.0</span>, to
allow
+ any additional resource cleanup:<br/>
+ <pre>/etc/libvirt/hooks/qemu guest_name release end
-</pre></li>
</ul>
<h5><a name="lxc">/etc/libvirt/hooks/lxc</a></h5>
diff --git a/src/qemu/qemu_process.c b/src/qemu/qemu_process.c
index 7831c3b..35281c3 100644
--- a/src/qemu/qemu_process.c
+++ b/src/qemu/qemu_process.c
@@ -1927,7 +1927,7 @@ int qemuProcessStart(virConnectPtr conn,
vm->def->id = driver->nextvmid++;
- /* Run a early hook to set-up missing devices */
+ /* Run an early hook to set-up missing devices */
if (virHookPresent(VIR_HOOK_DRIVER_QEMU)) {
char *xml = virDomainDefFormat(vm->def, 0);
int hookret;
@@ -2435,7 +2435,7 @@ retry:
VIR_FREE(priv->vcpupids);
priv->nvcpupids = 0;
- /* The "release" hook cleans up additional ressources */
+ /* The "release" hook cleans up additional resources */
if (virHookPresent(VIR_HOOK_DRIVER_QEMU)) {
char *xml = virDomainDefFormat(vm->def, 0);
--
1.7.4