提交 b259e6be 编写于 作者: D Daniel Veillard

* src/libvir.c src/xml.c: applied patch from Anthony Liguori

  to remove the XenStore transactions as this is not needed
  anymore.
Daniel
上级 b2764c3d
Fri Jan 27 09:58:31 CET 2006 Daniel Veillard <veillard@redhat.com>
* src/libvir.c src/xml.c: applied patch from Anthony Liguori
to remove the XenStore transactions as this is not needed
anymore.
Thu Jan 26 13:10:43 CET 2006 Daniel Veillard <veillard@redhat.com> Thu Jan 26 13:10:43 CET 2006 Daniel Veillard <veillard@redhat.com>
* TODO: updated * TODO: updated
......
...@@ -307,7 +307,6 @@ virConnectGetVersion(virConnectPtr conn, unsigned long *hvVer) { ...@@ -307,7 +307,6 @@ virConnectGetVersion(virConnectPtr conn, unsigned long *hvVer) {
*/ */
int int
virConnectListDomains(virConnectPtr conn, int *ids, int maxids) { virConnectListDomains(virConnectPtr conn, int *ids, int maxids) {
struct xs_transaction_handle* t = NULL;
int ret = -1; int ret = -1;
unsigned int num, i; unsigned int num, i;
long id; long id;
...@@ -330,11 +329,7 @@ virConnectListDomains(virConnectPtr conn, int *ids, int maxids) { ...@@ -330,11 +329,7 @@ virConnectListDomains(virConnectPtr conn, int *ids, int maxids) {
goto done; goto done;
} }
if (conn->xshandle != NULL) { if (conn->xshandle != NULL) {
t = xs_transaction_start(conn->xshandle); idlist = xs_directory(conn->xshandle, 0, "/local/domain", &num);
if (t == NULL)
goto done;
idlist = xs_directory(conn->xshandle, t, "/local/domain", &num);
if (idlist == NULL) if (idlist == NULL)
goto done; goto done;
...@@ -351,8 +346,6 @@ virConnectListDomains(virConnectPtr conn, int *ids, int maxids) { ...@@ -351,8 +346,6 @@ virConnectListDomains(virConnectPtr conn, int *ids, int maxids) {
} }
done: done:
if ((t != NULL) && (conn->xshandle != NULL))
xs_transaction_end(conn->xshandle, t, 0);
if (idlist != NULL) if (idlist != NULL)
free(idlist); free(idlist);
...@@ -369,7 +362,6 @@ done: ...@@ -369,7 +362,6 @@ done:
*/ */
int int
virConnectNumOfDomains(virConnectPtr conn) { virConnectNumOfDomains(virConnectPtr conn) {
struct xs_transaction_handle* t;
int ret = -1; int ret = -1;
unsigned int num; unsigned int num;
char **idlist = NULL; char **idlist = NULL;
...@@ -391,14 +383,10 @@ virConnectNumOfDomains(virConnectPtr conn) { ...@@ -391,14 +383,10 @@ virConnectNumOfDomains(virConnectPtr conn) {
} }
} else if (conn->xshandle != NULL) { } else if (conn->xshandle != NULL) {
t = xs_transaction_start(conn->xshandle); idlist = xs_directory(conn->xshandle, 0, "/local/domain", &num);
if (t) { if (idlist) {
idlist = xs_directory(conn->xshandle, t, "/local/domain", &num); free(idlist);
if (idlist) { ret = num;
free(idlist);
ret = num;
}
xs_transaction_end(conn->xshandle, t, 0);
} }
} }
return(ret); return(ret);
...@@ -445,23 +433,11 @@ virDomainCreateLinux(virConnectPtr conn, const char *kernel_path, ...@@ -445,23 +433,11 @@ virDomainCreateLinux(virConnectPtr conn, const char *kernel_path,
*/ */
static char ** static char **
virConnectDoStoreList(virConnectPtr conn, const char *path, unsigned int *nb) { virConnectDoStoreList(virConnectPtr conn, const char *path, unsigned int *nb) {
struct xs_transaction_handle* t;
char **ret = NULL;
if ((conn == NULL) || (conn->xshandle == NULL) || (path == NULL) || if ((conn == NULL) || (conn->xshandle == NULL) || (path == NULL) ||
(nb == NULL)) (nb == NULL))
return(NULL); return(NULL);
t = xs_transaction_start(conn->xshandle); return xs_directory(conn->xshandle, 0, path, nb);
if (t == NULL)
goto done;
ret = xs_directory(conn->xshandle, t, path, nb);
done:
if (t != NULL)
xs_transaction_end(conn->xshandle, t, 0);
return(ret);
} }
/** /**
...@@ -475,9 +451,7 @@ done: ...@@ -475,9 +451,7 @@ done:
*/ */
static char * static char *
virDomainDoStoreQuery(virDomainPtr domain, const char *path) { virDomainDoStoreQuery(virDomainPtr domain, const char *path) {
struct xs_transaction_handle* t;
char s[256]; char s[256];
char *ret = NULL;
unsigned int len = 0; unsigned int len = 0;
if (!VIR_IS_CONNECTED_DOMAIN(domain)) if (!VIR_IS_CONNECTED_DOMAIN(domain))
...@@ -488,16 +462,7 @@ virDomainDoStoreQuery(virDomainPtr domain, const char *path) { ...@@ -488,16 +462,7 @@ virDomainDoStoreQuery(virDomainPtr domain, const char *path) {
snprintf(s, 255, "/local/domain/%d/%s", domain->handle, path); snprintf(s, 255, "/local/domain/%d/%s", domain->handle, path);
s[255] = 0; s[255] = 0;
t = xs_transaction_start(domain->conn->xshandle); return xs_read(domain->conn->xshandle, 0, &s[0], &len);
if (t == NULL)
goto done;
ret = xs_read(domain->conn->xshandle, t, &s[0], &len);
done:
if (t != NULL)
xs_transaction_end(domain->conn->xshandle, t, 0);
return(ret);
} }
...@@ -514,7 +479,6 @@ done: ...@@ -514,7 +479,6 @@ done:
static int static int
virDomainDoStoreWrite(virDomainPtr domain, const char *path, virDomainDoStoreWrite(virDomainPtr domain, const char *path,
const char *value) { const char *value) {
struct xs_transaction_handle* t;
char s[256]; char s[256];
int ret = -1; int ret = -1;
...@@ -529,16 +493,9 @@ virDomainDoStoreWrite(virDomainPtr domain, const char *path, ...@@ -529,16 +493,9 @@ virDomainDoStoreWrite(virDomainPtr domain, const char *path,
snprintf(s, 255, "/local/domain/%d/%s", domain->handle, path); snprintf(s, 255, "/local/domain/%d/%s", domain->handle, path);
s[255] = 0; s[255] = 0;
t = xs_transaction_start(domain->conn->xshandle); if (xs_write(domain->conn->xshandle, 0, &s[0], value, strlen(value)))
if (t == NULL)
goto done;
if (xs_write(domain->conn->xshandle, t, &s[0], value, strlen(value)))
ret = 0; ret = 0;
done:
if (t != NULL)
xs_transaction_end(domain->conn->xshandle, t, 0);
return(ret); return(ret);
} }
...@@ -553,7 +510,6 @@ done: ...@@ -553,7 +510,6 @@ done:
char * char *
virDomainGetVM(virDomainPtr domain) virDomainGetVM(virDomainPtr domain)
{ {
struct xs_transaction_handle* t;
char *vm; char *vm;
char query[200]; char query[200];
unsigned int len; unsigned int len;
...@@ -563,18 +519,11 @@ virDomainGetVM(virDomainPtr domain) ...@@ -563,18 +519,11 @@ virDomainGetVM(virDomainPtr domain)
if (domain->conn->xshandle == NULL) if (domain->conn->xshandle == NULL)
return(NULL); return(NULL);
t = xs_transaction_start(domain->conn->xshandle);
if (t == NULL)
return(NULL);
snprintf(query, 199, "/local/domain/%d/vm", snprintf(query, 199, "/local/domain/%d/vm",
virDomainGetID(domain)); virDomainGetID(domain));
query[199] = 0; query[199] = 0;
vm = xs_read(domain->conn->xshandle, t, &query[0], &len); vm = xs_read(domain->conn->xshandle, 0, &query[0], &len);
if (t != NULL)
xs_transaction_end(domain->conn->xshandle, t, 0);
return(vm); return(vm);
} }
...@@ -593,7 +542,6 @@ virDomainGetVM(virDomainPtr domain) ...@@ -593,7 +542,6 @@ virDomainGetVM(virDomainPtr domain)
char * char *
virDomainGetVMInfo(virDomainPtr domain, const char *vm, virDomainGetVMInfo(virDomainPtr domain, const char *vm,
const char *name) { const char *name) {
struct xs_transaction_handle* t;
char s[256]; char s[256];
char *ret = NULL; char *ret = NULL;
unsigned int len = 0; unsigned int len = 0;
...@@ -606,15 +554,8 @@ virDomainGetVMInfo(virDomainPtr domain, const char *vm, ...@@ -606,15 +554,8 @@ virDomainGetVMInfo(virDomainPtr domain, const char *vm,
snprintf(s, 255, "%s/%s", vm, name); snprintf(s, 255, "%s/%s", vm, name);
s[255] = 0; s[255] = 0;
t = xs_transaction_start(domain->conn->xshandle); ret = xs_read(domain->conn->xshandle, 0, &s[0], &len);
if (t == NULL)
goto done;
ret = xs_read(domain->conn->xshandle, t, &s[0], &len);
done:
if (t != NULL)
xs_transaction_end(domain->conn->xshandle, t, 0);
return(ret); return(ret);
} }
...@@ -696,7 +637,6 @@ virDomainLookupByID(virConnectPtr conn, int id) { ...@@ -696,7 +637,6 @@ virDomainLookupByID(virConnectPtr conn, int id) {
*/ */
virDomainPtr virDomainPtr
virDomainLookupByName(virConnectPtr conn, const char *name) { virDomainLookupByName(virConnectPtr conn, const char *name) {
struct xs_transaction_handle* t = NULL;
virDomainPtr ret = NULL; virDomainPtr ret = NULL;
unsigned int num, i, len; unsigned int num, i, len;
long id = -1; long id = -1;
...@@ -722,11 +662,7 @@ virDomainLookupByName(virConnectPtr conn, const char *name) { ...@@ -722,11 +662,7 @@ virDomainLookupByName(virConnectPtr conn, const char *name) {
/* then though the XenStore */ /* then though the XenStore */
if (conn->xshandle != NULL) { if (conn->xshandle != NULL) {
t = xs_transaction_start(conn->xshandle); idlist = xs_directory(conn->xshandle, 0, "/local/domain", &num);
if (t == NULL)
goto done;
idlist = xs_directory(conn->xshandle, t, "/local/domain", &num);
if (idlist == NULL) if (idlist == NULL)
goto done; goto done;
...@@ -739,7 +675,7 @@ virDomainLookupByName(virConnectPtr conn, const char *name) { ...@@ -739,7 +675,7 @@ virDomainLookupByName(virConnectPtr conn, const char *name) {
continue; continue;
snprintf(prop, 199, "/local/domain/%s/name", idlist[i]); snprintf(prop, 199, "/local/domain/%s/name", idlist[i]);
prop[199] = 0; prop[199] = 0;
tmp = xs_read(conn->xshandle, t, prop, &len); tmp = xs_read(conn->xshandle, 0, prop, &len);
if (tmp != NULL) { if (tmp != NULL) {
found = !strcmp(name, tmp); found = !strcmp(name, tmp);
free(tmp); free(tmp);
...@@ -768,8 +704,6 @@ do_found: ...@@ -768,8 +704,6 @@ do_found:
done: done:
if (xenddomain != NULL) if (xenddomain != NULL)
free(xenddomain); free(xenddomain);
if (t != NULL)
xs_transaction_end(conn->xshandle, t, 0);
if (idlist != NULL) if (idlist != NULL)
free(idlist); free(idlist);
...@@ -1121,7 +1055,6 @@ int ...@@ -1121,7 +1055,6 @@ int
virDomainSetMaxMemory(virDomainPtr domain, unsigned long memory) { virDomainSetMaxMemory(virDomainPtr domain, unsigned long memory) {
int ret; int ret;
char s[256], v[30]; char s[256], v[30];
struct xs_transaction_handle* t;
if (!VIR_IS_CONNECTED_DOMAIN(domain)) if (!VIR_IS_CONNECTED_DOMAIN(domain))
return(-1); return(-1);
...@@ -1146,12 +1079,8 @@ virDomainSetMaxMemory(virDomainPtr domain, unsigned long memory) { ...@@ -1146,12 +1079,8 @@ virDomainSetMaxMemory(virDomainPtr domain, unsigned long memory) {
snprintf(v, 29, "%lu", memory); snprintf(v, 29, "%lu", memory);
v[30] = 0; v[30] = 0;
t = xs_transaction_start(domain->conn->xshandle); if (!xs_write(domain->conn->xshandle, 0, &s[0], &v[0], strlen(v)))
if (t == NULL) ret = -1;
return(0);
xs_write(domain->conn->xshandle, t, &s[0], &v[0], strlen(v));
xs_transaction_end(domain->conn->xshandle, t, 0);
return(ret); return(ret);
} }
......
...@@ -146,25 +146,14 @@ virBufferVSprintf(virBufferPtr buf, const char *format, ...) { ...@@ -146,25 +146,14 @@ virBufferVSprintf(virBufferPtr buf, const char *format, ...) {
static char * static char *
virDomainGetXMLDeviceInfo(virDomainPtr domain, const char *sub, virDomainGetXMLDeviceInfo(virDomainPtr domain, const char *sub,
long dev, const char *name) { long dev, const char *name) {
struct xs_transaction_handle* t;
char s[256]; char s[256];
char *ret = NULL;
unsigned int len = 0; unsigned int len = 0;
snprintf(s, 255, "/local/domain/0/backend/%s/%d/%ld/%s", snprintf(s, 255, "/local/domain/0/backend/%s/%d/%ld/%s",
sub, domain->handle, dev, name); sub, domain->handle, dev, name);
s[255] = 0; s[255] = 0;
t = xs_transaction_start(domain->conn->xshandle); return xs_read(domain->conn->xshandle, 0, &s[0], &len);
if (t == NULL)
goto done;
ret = xs_read(domain->conn->xshandle, t, &s[0], &len);
done:
if (t != NULL)
xs_transaction_end(domain->conn->xshandle, t, 0);
return(ret);
} }
/** /**
...@@ -240,7 +229,6 @@ virDomainGetXMLDevice(virDomainPtr domain, virBufferPtr buf, long dev) { ...@@ -240,7 +229,6 @@ virDomainGetXMLDevice(virDomainPtr domain, virBufferPtr buf, long dev) {
*/ */
static int static int
virDomainGetXMLDevices(virDomainPtr domain, virBufferPtr buf) { virDomainGetXMLDevices(virDomainPtr domain, virBufferPtr buf) {
struct xs_transaction_handle* t;
int ret = -1; int ret = -1;
unsigned int num, i; unsigned int num, i;
long id; long id;
...@@ -253,14 +241,10 @@ virDomainGetXMLDevices(virDomainPtr domain, virBufferPtr buf) { ...@@ -253,14 +241,10 @@ virDomainGetXMLDevices(virDomainPtr domain, virBufferPtr buf) {
conn = domain->conn; conn = domain->conn;
t = xs_transaction_start(conn->xshandle);
if (t == NULL)
goto done;
snprintf(backend, 199, "/local/domain/0/backend/vbd/%d", snprintf(backend, 199, "/local/domain/0/backend/vbd/%d",
virDomainGetID(domain)); virDomainGetID(domain));
backend[199] = 0; backend[199] = 0;
list = xs_directory(conn->xshandle, t, backend, &num); list = xs_directory(conn->xshandle, 0, backend, &num);
ret = 0; ret = 0;
if (list == NULL) if (list == NULL)
goto done; goto done;
...@@ -275,8 +259,6 @@ virDomainGetXMLDevices(virDomainPtr domain, virBufferPtr buf) { ...@@ -275,8 +259,6 @@ virDomainGetXMLDevices(virDomainPtr domain, virBufferPtr buf) {
} }
done: done:
if (t != NULL)
xs_transaction_end(conn->xshandle, t, 0);
if (list != NULL) if (list != NULL)
free(list); free(list);
...@@ -343,7 +325,6 @@ virDomainGetXMLInterface(virDomainPtr domain, virBufferPtr buf, long dev) { ...@@ -343,7 +325,6 @@ virDomainGetXMLInterface(virDomainPtr domain, virBufferPtr buf, long dev) {
*/ */
static int static int
virDomainGetXMLInterfaces(virDomainPtr domain, virBufferPtr buf) { virDomainGetXMLInterfaces(virDomainPtr domain, virBufferPtr buf) {
struct xs_transaction_handle* t;
int ret = -1; int ret = -1;
unsigned int num, i; unsigned int num, i;
long id; long id;
...@@ -356,14 +337,10 @@ virDomainGetXMLInterfaces(virDomainPtr domain, virBufferPtr buf) { ...@@ -356,14 +337,10 @@ virDomainGetXMLInterfaces(virDomainPtr domain, virBufferPtr buf) {
conn = domain->conn; conn = domain->conn;
t = xs_transaction_start(conn->xshandle);
if (t == NULL)
goto done;
snprintf(backend, 199, "/local/domain/0/backend/vif/%d", snprintf(backend, 199, "/local/domain/0/backend/vif/%d",
virDomainGetID(domain)); virDomainGetID(domain));
backend[199] = 0; backend[199] = 0;
list = xs_directory(conn->xshandle, t, backend, &num); list = xs_directory(conn->xshandle, 0, backend, &num);
ret = 0; ret = 0;
if (list == NULL) if (list == NULL)
goto done; goto done;
...@@ -378,8 +355,6 @@ virDomainGetXMLInterfaces(virDomainPtr domain, virBufferPtr buf) { ...@@ -378,8 +355,6 @@ virDomainGetXMLInterfaces(virDomainPtr domain, virBufferPtr buf) {
} }
done: done:
if (t != NULL)
xs_transaction_end(conn->xshandle, t, 0);
if (list != NULL) if (list != NULL)
free(list); free(list);
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册