Re: [libvirt] [PATCH v4 4/7] qemu: Implement qemuDomainManagedSaveDefineXML

2017-08-28 Thread Peter Krempa
On Tue, Aug 08, 2017 at 13:32:52 +0530, Kothapally Madhu Pavan wrote:
> This commit adds qemu driver implementation to edit xml
> configuration of managed save state file of a domain.
> 
> Signed-off-by: Kothapally Madhu Pavan 
> ---
>  src/qemu/qemu_driver.c | 41 +
>  1 file changed, 41 insertions(+)
> 
> diff --git a/src/qemu/qemu_driver.c b/src/qemu/qemu_driver.c
> index ec73dc1..b6db435 100644
> --- a/src/qemu/qemu_driver.c
> +++ b/src/qemu/qemu_driver.c
> @@ -6842,6 +6842,46 @@ qemuDomainManagedSaveGetXMLDesc(virDomainPtr dom, 
> unsigned int flags)
>  return ret;
>  }
>  
> +static int
> +qemuDomainManagedSaveDefineXML(virDomainPtr dom, const char *dxml,
> +   unsigned int flags)
> +{
> +virQEMUDriverPtr driver = dom->conn->privateData;
> +virConnectPtr conn = dom->conn;
> +virDomainObjPtr vm;
> +char *path = NULL;
> +int ret;
> +
> +if (!(vm = qemuDomObjFromDomain(dom)))
> +return -1;
> +
> +path = qemuDomainManagedSavePath(driver, vm);
> +virDomainObjEndAPI();
> +
> +if (!path)
> +goto error;
> +
> +if (!virFileExists(path)) {
> +virReportError(VIR_ERR_OPERATION_INVALID,
> +   "%s",_("domain does not have managed save image"));
> +goto error;
> +}
> +
> +ret = qemuDomainSaveImageDefineXML(conn, path, dxml, flags);
> +
> +VIR_FREE(path);
> +
> +if (ret < 0)
> +goto error;
> +
> +return ret;
> +
> + error:
> +VIR_FREE(path);
> +virDispatchError(conn);

Error dispatching is supposed to be done from the main API call where
you've added, so it does not need to be duplicated. Also it's possible
to just return ret, since it's set correctly in
qemuDomainSaveImageDefineXML.



signature.asc
Description: PGP signature
--
libvir-list mailing list
libvir-list@redhat.com
https://www.redhat.com/mailman/listinfo/libvir-list

[libvirt] [PATCH v4 4/7] qemu: Implement qemuDomainManagedSaveDefineXML

2017-08-08 Thread Kothapally Madhu Pavan
This commit adds qemu driver implementation to edit xml
configuration of managed save state file of a domain.

Signed-off-by: Kothapally Madhu Pavan 
---
 src/qemu/qemu_driver.c | 41 +
 1 file changed, 41 insertions(+)

diff --git a/src/qemu/qemu_driver.c b/src/qemu/qemu_driver.c
index ec73dc1..b6db435 100644
--- a/src/qemu/qemu_driver.c
+++ b/src/qemu/qemu_driver.c
@@ -6842,6 +6842,46 @@ qemuDomainManagedSaveGetXMLDesc(virDomainPtr dom, 
unsigned int flags)
 return ret;
 }
 
+static int
+qemuDomainManagedSaveDefineXML(virDomainPtr dom, const char *dxml,
+   unsigned int flags)
+{
+virQEMUDriverPtr driver = dom->conn->privateData;
+virConnectPtr conn = dom->conn;
+virDomainObjPtr vm;
+char *path = NULL;
+int ret;
+
+if (!(vm = qemuDomObjFromDomain(dom)))
+return -1;
+
+path = qemuDomainManagedSavePath(driver, vm);
+virDomainObjEndAPI();
+
+if (!path)
+goto error;
+
+if (!virFileExists(path)) {
+virReportError(VIR_ERR_OPERATION_INVALID,
+   "%s",_("domain does not have managed save image"));
+goto error;
+}
+
+ret = qemuDomainSaveImageDefineXML(conn, path, dxml, flags);
+
+VIR_FREE(path);
+
+if (ret < 0)
+goto error;
+
+return ret;
+
+ error:
+VIR_FREE(path);
+virDispatchError(conn);
+return -1;
+}
+
 /* Return 0 on success, 1 if incomplete saved image was silently unlinked,
  * and -1 on failure with error raised.  */
 static int
@@ -20885,6 +20925,7 @@ static virHypervisorDriver qemuHypervisorDriver = {
 .domainHasManagedSaveImage = qemuDomainHasManagedSaveImage, /* 0.8.0 */
 .domainManagedSaveRemove = qemuDomainManagedSaveRemove, /* 0.8.0 */
 .domainManagedSaveGetXMLDesc = qemuDomainManagedSaveGetXMLDesc, /* 3.7.0 */
+.domainManagedSaveDefineXML = qemuDomainManagedSaveDefineXML, /* 3.7.0 */
 .domainSnapshotCreateXML = qemuDomainSnapshotCreateXML, /* 0.8.0 */
 .domainSnapshotGetXMLDesc = qemuDomainSnapshotGetXMLDesc, /* 0.8.0 */
 .domainSnapshotNum = qemuDomainSnapshotNum, /* 0.8.0 */
-- 
1.8.3.1

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