Re: [libvirt] [PATCH v2] vz: implementation of domainCreateXML callback

2015-12-16 Thread Mikhail Feoktistov

It's my fault.
Please, disregard this patch.
Thanks to Michal.

16.12.2015 11:30, Michal Privoznik пишет:

On 09.12.2015 16:48, Mikhail Feoktistov wrote:

---

  diff from v1.
  Remove call of vzDomainSuspend() in case of VIR_DOMAIN_START_PAUSED flag is 
set.
  Now we don't support to create instance in stopped state.

  src/vz/vz_driver.c | 24 
  1 file changed, 24 insertions(+)

diff --git a/src/vz/vz_driver.c b/src/vz/vz_driver.c
index ea1090a..4498e01 100644
--- a/src/vz/vz_driver.c
+++ b/src/vz/vz_driver.c
@@ -979,6 +979,29 @@ vzDomainUndefine(virDomainPtr domain)
  return vzDomainUndefineFlags(domain, 0);
  }
  
+static virDomainPtr

+vzDomainCreateXML(virConnectPtr conn,
+  const char *xml,
+  unsigned int flags)
+{
+virDomainPtr domain;
+int ret;

This variable seem rather redundant.


+
+virCheckFlags(0, NULL);
+
+domain = vzDomainDefineXMLFlags(conn, xml, 0);
+if (domain == NULL)
+return domain;

if (!domain) return NULL;


+
+ret = vzDomainCreate(domain);
+if (ret != 0) {

if (vzDomainCreate(domain) < 0) {


+vzDomainUndefine(domain);
+return NULL;
+}
+
+return domain;
+}
+


But those are just small nits. What I find more wrong is that
virDomainCrateXML() is supposed to create a transient domain. That is -
domain that exists only as long as it is running. When shut down, its
definition is lost - unlike for defined domains which definition is kept
around until undefined. Frankly, I don't know vz that well to say if
that's possible with the driver or not. But if it isn't maybe we should
not add implement the API at all as it may confuse users.

Michal


--
libvir-list mailing list
libvir-list@redhat.com
https://www.redhat.com/mailman/listinfo/libvir-list

Re: [libvirt] [PATCH v2] vz: implementation of domainCreateXML callback

2015-12-16 Thread Michal Privoznik
On 09.12.2015 16:48, Mikhail Feoktistov wrote:
> ---
> 
>  diff from v1.
>  Remove call of vzDomainSuspend() in case of VIR_DOMAIN_START_PAUSED flag is 
> set.
>  Now we don't support to create instance in stopped state.
> 
>  src/vz/vz_driver.c | 24 
>  1 file changed, 24 insertions(+)
> 
> diff --git a/src/vz/vz_driver.c b/src/vz/vz_driver.c
> index ea1090a..4498e01 100644
> --- a/src/vz/vz_driver.c
> +++ b/src/vz/vz_driver.c
> @@ -979,6 +979,29 @@ vzDomainUndefine(virDomainPtr domain)
>  return vzDomainUndefineFlags(domain, 0);
>  }
>  
> +static virDomainPtr
> +vzDomainCreateXML(virConnectPtr conn,
> +  const char *xml,
> +  unsigned int flags)
> +{
> +virDomainPtr domain;
> +int ret;

This variable seem rather redundant.

> +
> +virCheckFlags(0, NULL);
> +
> +domain = vzDomainDefineXMLFlags(conn, xml, 0);
> +if (domain == NULL)
> +return domain;

if (!domain) return NULL;

> +
> +ret = vzDomainCreate(domain);
> +if (ret != 0) {

if (vzDomainCreate(domain) < 0) {

> +vzDomainUndefine(domain);
> +return NULL;
> +}
> +
> +return domain;
> +}
> +


But those are just small nits. What I find more wrong is that
virDomainCrateXML() is supposed to create a transient domain. That is -
domain that exists only as long as it is running. When shut down, its
definition is lost - unlike for defined domains which definition is kept
around until undefined. Frankly, I don't know vz that well to say if
that's possible with the driver or not. But if it isn't maybe we should
not add implement the API at all as it may confuse users.

Michal

--
libvir-list mailing list
libvir-list@redhat.com
https://www.redhat.com/mailman/listinfo/libvir-list


[libvirt] [PATCH v2] vz: implementation of domainCreateXML callback

2015-12-13 Thread Mikhail Feoktistov
---

 diff from v1.
 Remove call of vzDomainSuspend() in case of VIR_DOMAIN_START_PAUSED flag is 
set.
 Now we don't support to create instance in stopped state.

 src/vz/vz_driver.c | 24 
 1 file changed, 24 insertions(+)

diff --git a/src/vz/vz_driver.c b/src/vz/vz_driver.c
index ea1090a..4498e01 100644
--- a/src/vz/vz_driver.c
+++ b/src/vz/vz_driver.c
@@ -979,6 +979,29 @@ vzDomainUndefine(virDomainPtr domain)
 return vzDomainUndefineFlags(domain, 0);
 }
 
+static virDomainPtr
+vzDomainCreateXML(virConnectPtr conn,
+  const char *xml,
+  unsigned int flags)
+{
+virDomainPtr domain;
+int ret;
+
+virCheckFlags(0, NULL);
+
+domain = vzDomainDefineXMLFlags(conn, xml, 0);
+if (domain == NULL)
+return domain;
+
+ret = vzDomainCreate(domain);
+if (ret != 0) {
+vzDomainUndefine(domain);
+return NULL;
+}
+
+return domain;
+}
+
 static int
 vzDomainHasManagedSaveImage(virDomainPtr domain, unsigned int flags)
 {
@@ -1493,6 +1516,7 @@ static virHypervisorDriver vzDriver = {
 .domainShutdown = vzDomainShutdown, /* 0.10.0 */
 .domainCreate = vzDomainCreate,/* 0.10.0 */
 .domainCreateWithFlags = vzDomainCreateWithFlags, /* 1.2.10 */
+.domainCreateXML = vzDomainCreateXML, /* 1.2.22 */
 .domainReboot = vzDomainReboot, /* 1.3.0 */
 .domainDefineXML = vzDomainDefineXML,  /* 0.10.0 */
 .domainDefineXMLFlags = vzDomainDefineXMLFlags, /* 1.2.12 */
-- 
1.8.3.1

--
libvir-list mailing list
libvir-list@redhat.com
https://www.redhat.com/mailman/listinfo/libvir-list