diff options
author | Jiri Denemark <jdenemar@redhat.com> | 2012-09-17 15:18:57 +0200 |
---|---|---|
committer | Jiri Denemark <jdenemar@redhat.com> | 2012-09-21 12:23:01 +0200 |
commit | 98be861b4da5b1e2d228b7d041df74f797ed2596 (patch) | |
tree | fe8c1e540ea8a5333271d1e38a1ba84c17bb4927 /src | |
parent | Improve some debugging log messages in LXC mount setup (diff) | |
download | libvirt-98be861b4da5b1e2d228b7d041df74f797ed2596.tar.gz libvirt-98be861b4da5b1e2d228b7d041df74f797ed2596.tar.bz2 libvirt-98be861b4da5b1e2d228b7d041df74f797ed2596.zip |
locking: Remove README file in favor of internals/locking.html
The README file seems to be a leftover from some previous version of
locking driver. It is not consistent with what the code does nor is it
consistent with existing documentation in internals/locking.html.
Diffstat (limited to 'src')
-rw-r--r-- | src/locking/README | 165 |
1 files changed, 0 insertions, 165 deletions
diff --git a/src/locking/README b/src/locking/README deleted file mode 100644 index da2a8f83c..000000000 --- a/src/locking/README +++ /dev/null @@ -1,165 +0,0 @@ - Using the Lock Manager APIs - =========================== - -This file describes how to use the lock manager APIs. -All the guest lifecycle sequences here have higher -level wrappers provided by the 'domain_lock.h' API, -which simplify thue usage - -At libvirtd startup: - - plugin = virLockManagerPluginLoad("sync-manager"); - - -At libvirtd shtudown: - - virLockManagerPluginUnload(plugin) - - -At guest startup: - - manager = virLockManagerNew(plugin, - VIR_LOCK_MANAGER_OBJECT_DOMAIN, - 0); - - virLockManagerSetParameter(manager, "id", id); - virLockManagerSetParameter(manager, "uuid", uuid); - virLockManagerSetParameter(manager, "name", name); - - foreach disk - virLockManagerRegisterResource(manager, - VIR_LOCK_MANAGER_RESOURCE_TYPE_DISK, - disk.path, - ..flags...); - - if (!virLockManagerAcquireObject(manager)) - abort.. - - run QEMU - - -At guest shutdown: - - ...send QEMU 'quit' monitor command, and/or kill(qemupid)... - - if (!virLockManagerShutdown(manager)) - kill(supervisorpid); /* XXX or leave it running ??? */ - - virLockManagerFree(manager); - - - -At libvirtd restart with running guests: - - foreach still running guest - manager = virLockManagerNew(driver, - VIR_LOCK_MANAGER_START_DOMAIN, - VIR_LOCK_MANAGER_NEW_ATTACH); - virLockManagerSetParameter(manager, "id", id); - virLockManagerSetParameter(manager, "uuid", uuid); - virLockManagerSetParameter(manager, "name", name); - - if (!virLockManagerGetChild(manager, &qemupid)) - kill(supervisorpid); /* XXX or leave it running ??? */ - - - -With disk hotplug: - - if (virLockManagerAcquireResource(manager, - VIR_LOCK_MANAGER_RESOURCE_TYPE_DISK, - disk.path - ..flags..)) - ...abort hotplug attempt ... - - ...hotplug the device... - - - -With disk unhotplug: - - ...hotunplug the device... - - if (virLockManagerReleaseResource(manager, - VIR_LOCK_MANAGER_RESOURCE_TYPE_DISK, - disk.path - ..flags..)) - ...log warning ... - - - -During migration: - - 1. On source host - - if (!virLockManagerPrepareMigrate(manager, hosturi)) - ..don't start migration.. - - 2. On dest host - - manager = virLockManagerNew(driver, - VIR_LOCK_MANAGER_START_DOMAIN, - VIR_LOCK_MANAGER_NEW_MIGRATE); - virLockManagerSetParameter(manager, "id", id); - virLockManagerSetParameter(manager, "uuid", uuid); - virLockManagerSetParameter(manager, "name", name); - - foreach disk - virLockManagerRegisterResource(manager, - VIR_LOCK_MANAGER_RESOURCE_TYPE_DISK, - disk.path, - ..flags...); - - char **supervisorargv; - int supervisorargc; - - supervisor = virLockManagerGetSupervisorPath(manager); - virLockManagerGetSupervisorArgs(&argv, &argc); - - cmd = qemuBuildCommandLine(supervisor, supervisorargv, supervisorargv); - - supervisorpid = virCommandExec(cmd); - - if (!virLockManagerGetChild(manager, &qemupid)) - kill(supervisorpid); /* XXX or leave it running ??? */ - - 3. Initiate migration in QEMU on source and wait for completion - - 4a. On failure - - 4a1 On target - - virLockManagerCompleteMigrateIn(manager, - VIR_LOCK_MANAGER_MIGRATE_CANCEL); - virLockManagerShutdown(manager); - virLockManagerFree(manager); - - 4a2 On source - - virLockManagerCompleteMigrateIn(manager, - VIR_LOCK_MANAGER_MIGRATE_CANCEL); - - 4b. On succcess - - - 4b1 On target - - virLockManagerCompleteMigrateIn(manager, 0); - - 42 On source - - virLockManagerCompleteMigrateIn(manager, 0); - virLockManagerShutdown(manager); - virLockManagerFree(manager); - - -Notes: - - - If a lock manager impl does just VM level leases, it can - ignore all the resource paths at startup. - - - If a lock manager impl does not support migrate - it can return an error from all migrate calls - - - If a lock manger impl does not support hotplug - it can return an error from all resource acquire/release calls |