From: root Date: Fri, 3 Oct 2008 14:21:39 +0000 (+0200) Subject: More fun with snapshots. X-Git-Url: https://repo.or.cz/w/handlervirt.git/commitdiff_plain/0ff26e92a0597a0a88a78ade966f2d889a5a3ceb More fun with snapshots. --- diff --git a/default.xsl b/default.xsl index 84e6f0e..ce86891 100644 --- a/default.xsl +++ b/default.xsl @@ -8,9 +8,17 @@ Shutdown Reboot + Snapshot Create + + + + + Snapshot + + diff --git a/handler_virt.c b/handler_virt.c index 5a02560..ec3e2d4 100644 --- a/handler_virt.c +++ b/handler_virt.c @@ -427,6 +427,7 @@ cherokee_handler_virt_init (cherokee_handler_virt_t *hdl) else if (strcmp(this+12, "UUID") == 0) hdl->action = domainGetUUID; else if (strcmp(this+12, "UUIDString") == 0) hdl->action = domainGetUUIDString; else if (strcmp(this+12, "XMLDesc") == 0) hdl->action = domainGetXMLDesc; + else if (strcmp(this+12, "XMLSnapshots") == 0) hdl->action = domainGetXMLSnapshots; } else if (HDL_VIRT_PROPS(hdl)->read_only == FALSE) { @@ -831,6 +832,27 @@ virt_virt_function(cherokee_handler_virt_t *hdl, virDomainPtr dom, virConnectPtr break; } + case domainGetXMLSnapshots: { + /* TODO: maybe in the future one would like to have all snapshots here */ + struct stat statbuf; + cherokee_buffer_t path = CHEROKEE_BUF_INIT; + + cherokee_buffer_add_va (&path, "/mnt/netapp/users/%s/%s/memory", hdl->user.buf, hdl->vm.buf); + + if (stat(path.buf, &statbuf) != 0) { + cherokee_buffer_add_str(buf, ""); + } else { + char *date = ctime(&(statbuf.st_ctime)); + cherokee_buffer_add_str(buf, "\n"); + cherokee_buffer_add_va (buf, " \n"); + cherokee_buffer_add_str(buf, ""); + } + + cherokee_buffer_mrproper(&path); + break; + } case domainDetachDevice: { off_t postl; diff --git a/handler_virt.h b/handler_virt.h index f27212f..f580883 100644 --- a/handler_virt.h +++ b/handler_virt.h @@ -93,6 +93,7 @@ typedef struct { domainDefineXML_args, domainDefineXML, domainGetXMLDesc, + domainGetXMLSnapshots, storageVolGetXMLDesc_args, showall, showuservms