Arguments for driver entry points are checked in libvirt.c, so no need to
check again.
---
src/xen/xs_internal.c | 139 ++++++++++----------------------------------------
1 file changed, 28 insertions(+), 111 deletions(-)
diff --git a/src/xen/xs_internal.c b/src/xen/xs_internal.c
index 9308522..573c0c6 100644
--- a/src/xen/xs_internal.c
+++ b/src/xen/xs_internal.c
@@ -1,7 +1,7 @@
/*
* xs_internal.c: access to Xen Store
*
- * Copyright (C) 2006, 2009-2012 Red Hat, Inc.
+ * Copyright (C) 2006, 2009-2013 Red Hat, Inc.
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
@@ -86,12 +86,8 @@ static char **
virConnectDoStoreList(virConnectPtr conn, const char *path,
unsigned int *nb)
{
- xenUnifiedPrivatePtr priv;
-
- if (conn == NULL)
- return NULL;
+ xenUnifiedPrivatePtr priv = (xenUnifiedPrivatePtr) conn->privateData;
- priv = (xenUnifiedPrivatePtr) conn->privateData;
if (priv->xshandle == NULL || path == NULL || nb == NULL)
return NULL;
@@ -113,12 +109,8 @@ virDomainDoStoreQuery(virConnectPtr conn, int domid, const char
*path)
{
char s[256];
unsigned int len = 0;
- xenUnifiedPrivatePtr priv;
-
- if (!conn)
- return NULL;
+ xenUnifiedPrivatePtr priv = (xenUnifiedPrivatePtr) conn->privateData;
- priv = (xenUnifiedPrivatePtr) conn->privateData;
if (priv->xshandle == NULL)
return NULL;
@@ -143,16 +135,11 @@ virDomainDoStoreWrite(virDomainPtr domain, const char *path,
const char *value)
{
char s[256];
- xenUnifiedPrivatePtr priv;
+ xenUnifiedPrivatePtr priv =
+ (xenUnifiedPrivatePtr) domain->conn->privateData;
int ret = -1;
- if (!VIR_IS_CONNECTED_DOMAIN(domain))
- return -1;
-
- priv = (xenUnifiedPrivatePtr) domain->conn->privateData;
- if (priv->xshandle == NULL)
- return -1;
- if (domain->conn->flags & VIR_CONNECT_RO)
+ if (priv->xshandle == NULL || domain->conn->flags & VIR_CONNECT_RO)
return -1;
snprintf(s, 255, "/local/domain/%d/%s", domain->id, path);
@@ -178,12 +165,9 @@ virDomainGetVM(virDomainPtr domain)
char *vm;
char query[200];
unsigned int len;
- xenUnifiedPrivatePtr priv;
-
- if (!VIR_IS_CONNECTED_DOMAIN(domain))
- return NULL;
+ xenUnifiedPrivatePtr priv =
+ (xenUnifiedPrivatePtr) domain->conn->privateData;
- priv = (xenUnifiedPrivatePtr) domain->conn->privateData;
if (priv->xshandle == NULL)
return NULL;
@@ -212,12 +196,8 @@ virDomainGetVMInfo(virDomainPtr domain, const char *vm, const char
*name)
char s[256];
char *ret = NULL;
unsigned int len = 0;
- xenUnifiedPrivatePtr priv;
-
- if (!VIR_IS_CONNECTED_DOMAIN(domain))
- return NULL;
+ xenUnifiedPrivatePtr priv = (xenUnifiedPrivatePtr)domain->conn->privateData;
- priv = (xenUnifiedPrivatePtr) domain->conn->privateData;
if (priv->xshandle == NULL)
return NULL;
@@ -326,14 +306,7 @@ xenStoreOpen(virConnectPtr conn,
int
xenStoreClose(virConnectPtr conn)
{
- xenUnifiedPrivatePtr priv;
-
- if (conn == NULL) {
- virReportError(VIR_ERR_INVALID_ARG, __FUNCTION__);
- return -1;
- }
-
- priv = (xenUnifiedPrivatePtr) conn->privateData;
+ xenUnifiedPrivatePtr priv = (xenUnifiedPrivatePtr) conn->privateData;
if (xenStoreRemoveWatch(conn, "@introduceDomain",
"introduceDomain") < 0) {
VIR_DEBUG("Warning, could not remove @introduceDomain watch");
@@ -377,21 +350,9 @@ xenStoreGetDomainInfo(virDomainPtr domain, virDomainInfoPtr info)
char *tmp, **tmp2;
unsigned int nb_vcpus;
char request[200];
- xenUnifiedPrivatePtr priv;
-
- if (!VIR_IS_CONNECTED_DOMAIN(domain))
- return -1;
-
- if ((domain == NULL) || (domain->conn == NULL) || (info == NULL)) {
- virReportError(VIR_ERR_INVALID_ARG, __FUNCTION__);
- return -1;
- }
-
- priv = (xenUnifiedPrivatePtr) domain->conn->privateData;
- if (priv->xshandle == NULL)
- return -1;
+ xenUnifiedPrivatePtr priv = (xenUnifiedPrivatePtr)domain->conn->privateData;
- if (domain->id == -1)
+ if (priv->xshandle == NULL || domain->id == -1)
return -1;
tmp = virDomainDoStoreQuery(domain->conn, domain->id, "running");
@@ -482,8 +443,7 @@ xenStoreDomainSetMemory(virDomainPtr domain, unsigned long memory)
int ret;
char value[20];
- if ((domain == NULL) || (domain->conn == NULL) ||
- (memory < 1024 * MIN_XEN_GUEST_SIZE)) {
+ if (memory < 1024 * MIN_XEN_GUEST_SIZE) {
virReportError(VIR_ERR_INVALID_ARG, __FUNCTION__);
return -1;
}
@@ -512,14 +472,11 @@ xenStoreDomainGetMaxMemory(virDomainPtr domain)
{
char *tmp;
unsigned long long ret = 0;
- xenUnifiedPrivatePtr priv;
+ xenUnifiedPrivatePtr priv = (xenUnifiedPrivatePtr)domain->conn->privateData;
- if (!VIR_IS_CONNECTED_DOMAIN(domain))
- return ret;
if (domain->id == -1)
return 0;
- priv = domain->conn->privateData;
xenUnifiedLock(priv);
tmp = virDomainDoStoreQuery(domain->conn, domain->id,
"memory/target");
if (tmp != NULL) {
@@ -545,14 +502,8 @@ xenStoreNumOfDomains(virConnectPtr conn)
char **idlist = NULL, *endptr;
int i, ret = -1, realnum = 0;
long id;
- xenUnifiedPrivatePtr priv;
-
- if (conn == NULL) {
- virReportError(VIR_ERR_INVALID_ARG, __FUNCTION__);
- return -1;
- }
+ xenUnifiedPrivatePtr priv = (xenUnifiedPrivatePtr) conn->privateData;
- priv = (xenUnifiedPrivatePtr) conn->privateData;
if (priv->xshandle == NULL) {
virReportError(VIR_ERR_INVALID_ARG, __FUNCTION__);
return -1;
@@ -632,16 +583,9 @@ out:
int
xenStoreListDomains(virConnectPtr conn, int *ids, int maxids)
{
- xenUnifiedPrivatePtr priv;
+ xenUnifiedPrivatePtr priv = (xenUnifiedPrivatePtr) conn->privateData;
int ret;
- if ((conn == NULL) || (ids == NULL)) {
- virReportError(VIR_ERR_INVALID_ARG, __FUNCTION__);
- return -1;
- }
-
- priv = (xenUnifiedPrivatePtr) conn->privateData;
-
xenUnifiedLock(priv);
ret = xenStoreDoListDomains(conn, priv, ids, maxids);
xenUnifiedUnlock(priv);
@@ -668,14 +612,8 @@ xenStoreLookupByName(virConnectPtr conn, const char *name)
char prop[200], *tmp;
int found = 0;
struct xend_domain *xenddomain = NULL;
- xenUnifiedPrivatePtr priv;
-
- if ((conn == NULL) || (name == NULL)) {
- virReportError(VIR_ERR_INVALID_ARG, __FUNCTION__);
- return NULL;
- }
+ xenUnifiedPrivatePtr priv = (xenUnifiedPrivatePtr) conn->privateData;
- priv = (xenUnifiedPrivatePtr) conn->privateData;
if (priv->xshandle == NULL)
return NULL;
@@ -732,19 +670,14 @@ int
xenStoreDomainShutdown(virDomainPtr domain)
{
int ret;
- xenUnifiedPrivatePtr priv;
+ xenUnifiedPrivatePtr priv = (xenUnifiedPrivatePtr)domain->conn->privateData;
- if ((domain == NULL) || (domain->conn == NULL)) {
- virReportError(VIR_ERR_INVALID_ARG, __FUNCTION__);
- return -1;
- }
if (domain->id == -1 || domain->id == 0)
return -1;
/*
* this is very hackish, the domU kernel probes for a special
* node in the xenstore and launch the shutdown command if found.
*/
- priv = domain->conn->privateData;
xenUnifiedLock(priv);
ret = virDomainDoStoreWrite(domain, "control/shutdown",
"poweroff");
xenUnifiedUnlock(priv);
@@ -766,21 +699,17 @@ int
xenStoreDomainReboot(virDomainPtr domain, unsigned int flags)
{
int ret;
- xenUnifiedPrivatePtr priv;
+ xenUnifiedPrivatePtr priv = (xenUnifiedPrivatePtr)domain->conn->privateData;
virCheckFlags(0, -1);
- if ((domain == NULL) || (domain->conn == NULL)) {
- virReportError(VIR_ERR_INVALID_ARG, __FUNCTION__);
- return -1;
- }
if (domain->id == -1 || domain->id == 0)
return -1;
/*
* this is very hackish, the domU kernel probes for a special
* node in the xenstore and launch the shutdown command if found.
*/
- priv = domain->conn->privateData;
+
xenUnifiedLock(priv);
ret = virDomainDoStoreWrite(domain, "control/shutdown",
"reboot");
xenUnifiedUnlock(priv);
@@ -800,14 +729,10 @@ static char *
xenStoreDomainGetOSType(virDomainPtr domain) {
char *vm, *str = NULL;
- if ((domain == NULL) || (domain->conn == NULL)) {
- virReportError(VIR_ERR_INVALID_ARG, __FUNCTION__);
- return NULL;
- }
-
vm = virDomainGetVM(domain);
if (vm) {
- xenUnifiedPrivatePtr priv = domain->conn->privateData;
+ xenUnifiedPrivatePtr priv =
+ (xenUnifiedPrivatePtr) domain->conn->privateData;
xenUnifiedLock(priv);
str = virDomainGetVMInfo(domain, vm, "image/ostype");
xenUnifiedUnlock(priv);
@@ -904,12 +829,10 @@ xenStoreDomainGetNetworkID(virConnectPtr conn, int id, const char
*mac) {
char dir[80], path[128], **list = NULL, *val = NULL;
unsigned int len, i, num;
char *ret = NULL;
- xenUnifiedPrivatePtr priv;
+ xenUnifiedPrivatePtr priv = (xenUnifiedPrivatePtr) conn->privateData;
if (id < 0)
return NULL;
-
- priv = (xenUnifiedPrivatePtr) conn->privateData;
if (priv->xshandle == NULL)
return NULL;
if (mac == NULL)
@@ -962,12 +885,10 @@ xenStoreDomainGetDiskID(virConnectPtr conn, int id, const char *dev)
{
char dir[80], path[128], **list = NULL, *val = NULL;
unsigned int devlen, len, i, num;
char *ret = NULL;
- xenUnifiedPrivatePtr priv;
+ xenUnifiedPrivatePtr priv = (xenUnifiedPrivatePtr) conn->privateData;
if (id < 0)
return NULL;
-
- priv = (xenUnifiedPrivatePtr) conn->privateData;
if (priv->xshandle == NULL)
return NULL;
if (dev == NULL)
@@ -1046,12 +967,10 @@ xenStoreDomainGetPCIID(virConnectPtr conn, int id, const char
*bdf)
char dir[80], path[128], **list = NULL, *val = NULL;
unsigned int len, i, num;
char *ret = NULL;
- xenUnifiedPrivatePtr priv;
+ xenUnifiedPrivatePtr priv = (xenUnifiedPrivatePtr) conn->privateData;
if (id < 0)
return NULL;
-
- priv = (xenUnifiedPrivatePtr) conn->privateData;
if (priv->xshandle == NULL)
return NULL;
if (bdf == NULL)
@@ -1087,10 +1006,9 @@ xenStoreDomainGetPCIID(virConnectPtr conn, int id, const char
*bdf)
char *xenStoreDomainGetName(virConnectPtr conn,
int id) {
char prop[200];
- xenUnifiedPrivatePtr priv;
+ xenUnifiedPrivatePtr priv = (xenUnifiedPrivatePtr) conn->privateData;
unsigned int len;
- priv = (xenUnifiedPrivatePtr) conn->privateData;
if (priv->xshandle == NULL)
return NULL;
@@ -1107,12 +1025,11 @@ int xenStoreDomainGetUUID(virConnectPtr conn,
int id,
unsigned char *uuid) {
char prop[200];
- xenUnifiedPrivatePtr priv;
+ xenUnifiedPrivatePtr priv = (xenUnifiedPrivatePtr) conn->privateData;
unsigned int len;
char *uuidstr;
int ret = 0;
- priv = (xenUnifiedPrivatePtr) conn->privateData;
if (priv->xshandle == NULL)
return -1;
@@ -1335,7 +1252,7 @@ int xenStoreDomainIntroduced(virConnectPtr conn,
int *new_domids;
int nread;
- xenUnifiedPrivatePtr priv = opaque;
+ xenUnifiedPrivatePtr priv = (xenUnifiedPrivatePtr) opaque;
retry:
new_domain_cnt = xenStoreNumOfDomains(conn);
--
1.7.11.7