Use prlsdkNewDomain() and prlsdkSetDomainInstance() instead of prlsdkAddDomain()
New algorithm for creating an instance:
In vzDomainDefineXMLFlags() we add new domain to domain list by calling
prlsdkNewDomain()
and only after that we call CreateVm() to create VM.
It means that we "reserve" domain
Add two functions
1. prlsdkNewDomain() creates new empty domain in domains list with the specific
uuid.
2. prlsdkSetDomainInstance() add data from VM to domain object.
---
src/vz/vz_sdk.c | 49 +
src/vz/vz_sdk.h | 8
2 files changed, 57
Now we create new domain by calling prlsdkNewDomain().
In LoadDomain() we just load info from vm instance to domain object.
So remove code to create domain from LoadDomain().
---
src/vz/vz_sdk.c | 55 +--
1 file changed, 17 insertions(+), 38
Patch 1 and 2:
Fix race condition when adding domain to domains list
Race condition:
User calls defineXML to create new instance.
The main thread from vzDomainDefineXMLFlags() creates new instance by
prlsdkCreateVm.
Then this thread calls prlsdkAddDomain to add new domain to domains list.
The
Bug cause:
Update the domain that is subscribed to hypervisor notification.
LoadDomain() rewrites notifications fields in vzDomObj structure and makes
domain as "unsubscribed".
Fix:
Initialize notification fields in vzDomObj only if we create a new domain.
And do not reinitialize these fields if
Hello!
Currently our Virtuozzo company is working on some kind of management
tool for libvirt. We encountered some problems with snapshots while
development.
So I would like to ask community a few questions:
1) Would you mind if I extend current libvirt snapshot with ability to
add arbitrary
Hi!
Unfortunately I've no reply on this patchset from community and would
like to remind about it.
Thank you!
On 01/18/2016 01:08 PM, Alexander Burluka wrote:
We decide to make a global per domain bandwidth setting
as were discussed in mailing list earlier.
This patchset implements
In case of guest panicked, preserved crashed domain has stopped CPUs.
It's not possible to use tools like WinDbg for the problem investigation
until we start CPUs back.
---
src/qemu/qemu_driver.c | 7 +--
1 file changed, 5 insertions(+), 2 deletions(-)
diff --git a/src/qemu/qemu_driver.c