mirror of
https://gitlab.com/libvirt/libvirt.git
synced 2024-08-27 19:11:16 +00:00
maint: don't permit format strings without %
Any time we have a string with no % passed through gettext, a translator can inject a % to cause a stack overread. When there is nothing to format, it's easier to ask for a string that cannot be used as a formatter, by using a trivial "%s" format instead. In the past, we have used --disable-nls to catch some of the offenders, but that doesn't get run very often, and many more uses have crept in. Syntax check to the rescue! The syntax check can catch uses such as virReportError(code, _("split " "string")); by using a sed script to fold context lines into one pattern space before checking for a string without %. This patch is just mechanical insertion of %s; there are probably several messages touched by this patch where we would be better off giving the user more information than a fixed string. * cfg.mk (sc_prohibit_diagnostic_without_format): New rule. * src/datatypes.c (virUnrefConnect, virGetDomain) (virUnrefDomain, virGetNetwork, virUnrefNetwork, virGetInterface) (virUnrefInterface, virGetStoragePool, virUnrefStoragePool) (virGetStorageVol, virUnrefStorageVol, virGetNodeDevice) (virGetSecret, virUnrefSecret, virGetNWFilter, virUnrefNWFilter) (virGetDomainSnapshot, virUnrefDomainSnapshot): Add %s wrapper. * src/lxc/lxc_driver.c (lxcDomainSetBlkioParameters) (lxcDomainGetBlkioParameters): Likewise. * src/conf/domain_conf.c (virSecurityDeviceLabelDefParseXML) (virDomainDiskDefParseXML, virDomainGraphicsDefParseXML): Likewise. * src/conf/network_conf.c (virNetworkDNSHostsDefParseXML) (virNetworkDefParseXML): Likewise. * src/conf/nwfilter_conf.c (virNWFilterIsValidChainName): Likewise. * src/conf/nwfilter_params.c (virNWFilterVarValueCreateSimple) (virNWFilterVarAccessParse): Likewise. * src/libvirt.c (virDomainSave, virDomainSaveFlags) (virDomainRestore, virDomainRestoreFlags) (virDomainSaveImageGetXMLDesc, virDomainSaveImageDefineXML) (virDomainCoreDump, virDomainGetXMLDesc) (virDomainMigrateVersion1, virDomainMigrateVersion2) (virDomainMigrateVersion3, virDomainMigrate, virDomainMigrate2) (virStreamSendAll, virStreamRecvAll) (virDomainSnapshotGetXMLDesc): Likewise. * src/nwfilter/nwfilter_dhcpsnoop.c (virNWFilterSnoopReqLeaseDel) (virNWFilterDHCPSnoopReq): Likewise. * src/openvz/openvz_driver.c (openvzUpdateDevice): Likewise. * src/openvz/openvz_util.c (openvzKBPerPages): Likewise. * src/qemu/qemu_cgroup.c (qemuSetupCgroup): Likewise. * src/qemu/qemu_command.c (qemuBuildHubDevStr, qemuBuildChrChardevStr) (qemuBuildCommandLine): Likewise. * src/qemu/qemu_driver.c (qemuDomainGetPercpuStats): Likewise. * src/qemu/qemu_hotplug.c (qemuDomainAttachNetDevice): Likewise. * src/rpc/virnetsaslcontext.c (virNetSASLSessionGetIdentity): Likewise. * src/rpc/virnetsocket.c (virNetSocketNewConnectUNIX) (virNetSocketSendFD, virNetSocketRecvFD): Likewise. * src/storage/storage_backend_disk.c (virStorageBackendDiskBuildPool): Likewise. * src/storage/storage_backend_fs.c (virStorageBackendFileSystemProbe) (virStorageBackendFileSystemBuild): Likewise. * src/storage/storage_backend_rbd.c (virStorageBackendRBDOpenRADOSConn): Likewise. * src/storage/storage_driver.c (storageVolumeResize): Likewise. * src/test/test_driver.c (testInterfaceChangeBegin) (testInterfaceChangeCommit, testInterfaceChangeRollback): Likewise. * src/vbox/vbox_tmpl.c (vboxListAllDomains): Likewise. * src/xenxs/xen_sxpr.c (xenFormatSxprDisk, xenFormatSxpr): Likewise. * src/xenxs/xen_xm.c (xenXMConfigGetUUID, xenFormatXMDisk) (xenFormatXM): Likewise.
This commit is contained in:
parent
72181978d5
commit
768007aedc
13
cfg.mk
13
cfg.mk
@ -581,6 +581,19 @@ sc_prohibit_newline_at_end_of_diagnostic:
|
|||||||
&& { echo '$(ME): newline at end of message(s)' 1>&2; \
|
&& { echo '$(ME): newline at end of message(s)' 1>&2; \
|
||||||
exit 1; } || :
|
exit 1; } || :
|
||||||
|
|
||||||
|
# Look for diagnostics that lack a % in the format string, except that we
|
||||||
|
# allow VIR_ERROR to do this, and ignore functions that take a single
|
||||||
|
# string rather than a format argument.
|
||||||
|
sc_prohibit_diagnostic_without_format:
|
||||||
|
@{ grep -nE '\<$(func_re) *\(.*;$$' $$($(VC_LIST_EXCEPT)); \
|
||||||
|
grep -A2 -nE '\<$(func_re) *\(.*,$$' $$($(VC_LIST_EXCEPT)); } \
|
||||||
|
| sed -rn -e ':l; /[,"]$$/ {N;b l;}' \
|
||||||
|
-e '/(xenapiSessionErrorHandler|vah_(error|warning))/d' \
|
||||||
|
-e '/\<$(func_re) *\([^"]*"([^%"]|"\n[^"]*")*"[,)]/p' \
|
||||||
|
| grep -vE 'VIR_ERROR' && \
|
||||||
|
{ echo '$(ME): found diagnostic without %' 1>&2; \
|
||||||
|
exit 1; } || :
|
||||||
|
|
||||||
# The strings "" and "%s" should never be marked for translation.
|
# The strings "" and "%s" should never be marked for translation.
|
||||||
sc_prohibit_useless_translation:
|
sc_prohibit_useless_translation:
|
||||||
@prohibit='_\("(%s)?"\)' \
|
@prohibit='_\("(%s)?"\)' \
|
||||||
|
@ -3236,7 +3236,7 @@ virSecurityDeviceLabelDefParseXML(virSecurityDeviceLabelDefPtr *def,
|
|||||||
(*def)->label = p;
|
(*def)->label = p;
|
||||||
|
|
||||||
if ((*def)->label && (*def)->norelabel) {
|
if ((*def)->label && (*def)->norelabel) {
|
||||||
virReportError(VIR_ERR_XML_ERROR,
|
virReportError(VIR_ERR_XML_ERROR, "%s",
|
||||||
_("Cannot specify a label if relabelling is turned off"));
|
_("Cannot specify a label if relabelling is turned off"));
|
||||||
VIR_FREE((*def)->label);
|
VIR_FREE((*def)->label);
|
||||||
VIR_FREE(*def);
|
VIR_FREE(*def);
|
||||||
@ -3423,7 +3423,7 @@ virDomainDiskDefParseXML(virCapsPtr caps,
|
|||||||
}
|
}
|
||||||
if (!(source = virXMLPropString(cur, "name")) &&
|
if (!(source = virXMLPropString(cur, "name")) &&
|
||||||
def->protocol != VIR_DOMAIN_DISK_PROTOCOL_NBD) {
|
def->protocol != VIR_DOMAIN_DISK_PROTOCOL_NBD) {
|
||||||
virReportError(VIR_ERR_INTERNAL_ERROR,
|
virReportError(VIR_ERR_INTERNAL_ERROR, "%s",
|
||||||
_("missing name for disk source"));
|
_("missing name for disk source"));
|
||||||
goto error;
|
goto error;
|
||||||
}
|
}
|
||||||
@ -3509,7 +3509,7 @@ virDomainDiskDefParseXML(virCapsPtr caps,
|
|||||||
} else if (xmlStrEqual(cur->name, BAD_CAST "auth")) {
|
} else if (xmlStrEqual(cur->name, BAD_CAST "auth")) {
|
||||||
authUsername = virXMLPropString(cur, "username");
|
authUsername = virXMLPropString(cur, "username");
|
||||||
if (authUsername == NULL) {
|
if (authUsername == NULL) {
|
||||||
virReportError(VIR_ERR_INTERNAL_ERROR,
|
virReportError(VIR_ERR_INTERNAL_ERROR, "%s",
|
||||||
_("missing username for auth"));
|
_("missing username for auth"));
|
||||||
goto error;
|
goto error;
|
||||||
}
|
}
|
||||||
@ -3521,7 +3521,7 @@ virDomainDiskDefParseXML(virCapsPtr caps,
|
|||||||
xmlStrEqual(child->name, BAD_CAST "secret")) {
|
xmlStrEqual(child->name, BAD_CAST "secret")) {
|
||||||
usageType = virXMLPropString(child, "type");
|
usageType = virXMLPropString(child, "type");
|
||||||
if (usageType == NULL) {
|
if (usageType == NULL) {
|
||||||
virReportError(VIR_ERR_XML_ERROR,
|
virReportError(VIR_ERR_XML_ERROR, "%s",
|
||||||
_("missing type for secret"));
|
_("missing type for secret"));
|
||||||
goto error;
|
goto error;
|
||||||
}
|
}
|
||||||
@ -3537,7 +3537,7 @@ virDomainDiskDefParseXML(virCapsPtr caps,
|
|||||||
authUsage = virXMLPropString(child, "usage");
|
authUsage = virXMLPropString(child, "usage");
|
||||||
|
|
||||||
if (authUUID != NULL && authUsage != NULL) {
|
if (authUUID != NULL && authUsage != NULL) {
|
||||||
virReportError(VIR_ERR_XML_ERROR,
|
virReportError(VIR_ERR_XML_ERROR, "%s",
|
||||||
_("only one of uuid and usage can be specified"));
|
_("only one of uuid and usage can be specified"));
|
||||||
goto error;
|
goto error;
|
||||||
}
|
}
|
||||||
@ -3599,7 +3599,7 @@ virDomainDiskDefParseXML(virCapsPtr caps,
|
|||||||
def->blkdeviotune.read_bytes_sec) ||
|
def->blkdeviotune.read_bytes_sec) ||
|
||||||
(def->blkdeviotune.total_bytes_sec &&
|
(def->blkdeviotune.total_bytes_sec &&
|
||||||
def->blkdeviotune.write_bytes_sec)) {
|
def->blkdeviotune.write_bytes_sec)) {
|
||||||
virReportError(VIR_ERR_XML_ERROR,
|
virReportError(VIR_ERR_XML_ERROR, "%s",
|
||||||
_("total and read/write bytes_sec "
|
_("total and read/write bytes_sec "
|
||||||
"cannot be set at the same time"));
|
"cannot be set at the same time"));
|
||||||
goto error;
|
goto error;
|
||||||
@ -3609,7 +3609,7 @@ virDomainDiskDefParseXML(virCapsPtr caps,
|
|||||||
def->blkdeviotune.read_iops_sec) ||
|
def->blkdeviotune.read_iops_sec) ||
|
||||||
(def->blkdeviotune.total_iops_sec &&
|
(def->blkdeviotune.total_iops_sec &&
|
||||||
def->blkdeviotune.write_iops_sec)) {
|
def->blkdeviotune.write_iops_sec)) {
|
||||||
virReportError(VIR_ERR_XML_ERROR,
|
virReportError(VIR_ERR_XML_ERROR, "%s",
|
||||||
_("total and read/write iops_sec "
|
_("total and read/write iops_sec "
|
||||||
"cannot be set at the same time"));
|
"cannot be set at the same time"));
|
||||||
goto error;
|
goto error;
|
||||||
@ -3825,7 +3825,7 @@ virDomainDiskDefParseXML(virCapsPtr caps,
|
|||||||
|
|
||||||
if (ioeventfd) {
|
if (ioeventfd) {
|
||||||
if (def->bus != VIR_DOMAIN_DISK_BUS_VIRTIO) {
|
if (def->bus != VIR_DOMAIN_DISK_BUS_VIRTIO) {
|
||||||
virReportError(VIR_ERR_CONFIG_UNSUPPORTED,
|
virReportError(VIR_ERR_CONFIG_UNSUPPORTED, "%s",
|
||||||
_("disk ioeventfd mode supported "
|
_("disk ioeventfd mode supported "
|
||||||
"only for virtio bus"));
|
"only for virtio bus"));
|
||||||
goto error;
|
goto error;
|
||||||
@ -3843,7 +3843,7 @@ virDomainDiskDefParseXML(virCapsPtr caps,
|
|||||||
|
|
||||||
if (event_idx) {
|
if (event_idx) {
|
||||||
if (def->bus != VIR_DOMAIN_DISK_BUS_VIRTIO) {
|
if (def->bus != VIR_DOMAIN_DISK_BUS_VIRTIO) {
|
||||||
virReportError(VIR_ERR_CONFIG_UNSUPPORTED,
|
virReportError(VIR_ERR_CONFIG_UNSUPPORTED, "%s",
|
||||||
_("disk event_idx mode supported "
|
_("disk event_idx mode supported "
|
||||||
"only for virtio bus"));
|
"only for virtio bus"));
|
||||||
goto error;
|
goto error;
|
||||||
@ -6411,7 +6411,7 @@ virDomainGraphicsDefParseXML(xmlNodePtr node,
|
|||||||
|
|
||||||
if ((compressionVal =
|
if ((compressionVal =
|
||||||
virDomainGraphicsSpicePlaybackCompressionTypeFromString(compression)) <= 0) {
|
virDomainGraphicsSpicePlaybackCompressionTypeFromString(compression)) <= 0) {
|
||||||
virReportError(VIR_ERR_CONFIG_UNSUPPORTED,
|
virReportError(VIR_ERR_CONFIG_UNSUPPORTED, "%s",
|
||||||
_("unknown spice playback compression"));
|
_("unknown spice playback compression"));
|
||||||
VIR_FREE(compression);
|
VIR_FREE(compression);
|
||||||
goto error;
|
goto error;
|
||||||
@ -6431,7 +6431,7 @@ virDomainGraphicsDefParseXML(xmlNodePtr node,
|
|||||||
}
|
}
|
||||||
if ((modeVal =
|
if ((modeVal =
|
||||||
virDomainGraphicsSpiceStreamingModeTypeFromString(mode)) <= 0) {
|
virDomainGraphicsSpiceStreamingModeTypeFromString(mode)) <= 0) {
|
||||||
virReportError(VIR_ERR_CONFIG_UNSUPPORTED,
|
virReportError(VIR_ERR_CONFIG_UNSUPPORTED, "%s",
|
||||||
_("unknown spice streaming mode"));
|
_("unknown spice streaming mode"));
|
||||||
VIR_FREE(mode);
|
VIR_FREE(mode);
|
||||||
goto error;
|
goto error;
|
||||||
|
@ -519,7 +519,7 @@ virNetworkDNSHostsDefParseXML(virNetworkDNSDefPtr def,
|
|||||||
|
|
||||||
if (!(ip = virXMLPropString(node, "ip")) ||
|
if (!(ip = virXMLPropString(node, "ip")) ||
|
||||||
(virSocketAddrParse(&inaddr, ip, AF_UNSPEC) < 0)) {
|
(virSocketAddrParse(&inaddr, ip, AF_UNSPEC) < 0)) {
|
||||||
virReportError(VIR_ERR_XML_DETAIL,
|
virReportError(VIR_ERR_XML_DETAIL, "%s",
|
||||||
_("Missing IP address in DNS host definition"));
|
_("Missing IP address in DNS host definition"));
|
||||||
VIR_FREE(ip);
|
VIR_FREE(ip);
|
||||||
goto error;
|
goto error;
|
||||||
@ -1086,7 +1086,7 @@ virNetworkDefParseXML(xmlXPathContextPtr ctxt)
|
|||||||
nForwardPfs = virXPathNodeSet("./pf", ctxt, &forwardPfNodes);
|
nForwardPfs = virXPathNodeSet("./pf", ctxt, &forwardPfNodes);
|
||||||
|
|
||||||
if (nForwardIfs < 0 || nForwardPfs < 0) {
|
if (nForwardIfs < 0 || nForwardPfs < 0) {
|
||||||
virReportError(VIR_ERR_XML_ERROR,
|
virReportError(VIR_ERR_XML_ERROR, "%s",
|
||||||
_("No interface pool or SRIOV physical device given"));
|
_("No interface pool or SRIOV physical device given"));
|
||||||
goto error;
|
goto error;
|
||||||
}
|
}
|
||||||
@ -1098,7 +1098,7 @@ virNetworkDefParseXML(xmlXPathContextPtr ctxt)
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (forwardDev) {
|
if (forwardDev) {
|
||||||
virReportError(VIR_ERR_XML_ERROR,
|
virReportError(VIR_ERR_XML_ERROR, "%s",
|
||||||
_("A forward Dev should not be used when using a SRIOV PF"));
|
_("A forward Dev should not be used when using a SRIOV PF"));
|
||||||
goto error;
|
goto error;
|
||||||
}
|
}
|
||||||
@ -1116,7 +1116,7 @@ virNetworkDefParseXML(xmlXPathContextPtr ctxt)
|
|||||||
forwardDev = NULL;
|
forwardDev = NULL;
|
||||||
def->nForwardPfs++;
|
def->nForwardPfs++;
|
||||||
} else if (nForwardPfs > 1) {
|
} else if (nForwardPfs > 1) {
|
||||||
virReportError(VIR_ERR_XML_ERROR,
|
virReportError(VIR_ERR_XML_ERROR, "%s",
|
||||||
_("Use of more than one physical interface is not allowed"));
|
_("Use of more than one physical interface is not allowed"));
|
||||||
goto error;
|
goto error;
|
||||||
}
|
}
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
* nwfilter_conf.c: network filter XML processing
|
* nwfilter_conf.c: network filter XML processing
|
||||||
* (derived from storage_conf.c)
|
* (derived from storage_conf.c)
|
||||||
*
|
*
|
||||||
* Copyright (C) 2006-2011 Red Hat, Inc.
|
* Copyright (C) 2006-2012 Red Hat, Inc.
|
||||||
* Copyright (C) 2006-2008 Daniel P. Berrange
|
* Copyright (C) 2006-2008 Daniel P. Berrange
|
||||||
*
|
*
|
||||||
* Copyright (C) 2010-2011 IBM Corporation
|
* Copyright (C) 2010-2011 IBM Corporation
|
||||||
@ -2423,7 +2423,7 @@ virNWFilterIsValidChainName(const char *chainname)
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (chainname[strspn(chainname, VALID_CHAINNAME)] != 0) {
|
if (chainname[strspn(chainname, VALID_CHAINNAME)] != 0) {
|
||||||
virReportError(VIR_ERR_INVALID_ARG,
|
virReportError(VIR_ERR_INVALID_ARG, "%s",
|
||||||
_("Chain name contains invalid characters"));
|
_("Chain name contains invalid characters"));
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
@ -113,7 +113,7 @@ virNWFilterVarValueCreateSimple(char *value)
|
|||||||
virNWFilterVarValuePtr val;
|
virNWFilterVarValuePtr val;
|
||||||
|
|
||||||
if (!isValidVarValue(value)) {
|
if (!isValidVarValue(value)) {
|
||||||
virReportError(VIR_ERR_INVALID_ARG,
|
virReportError(VIR_ERR_INVALID_ARG, "%s",
|
||||||
_("Variable value contains invalid character"));
|
_("Variable value contains invalid character"));
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
@ -998,10 +998,10 @@ virNWFilterVarAccessParse(const char *varAccess)
|
|||||||
}
|
}
|
||||||
if (parseError) {
|
if (parseError) {
|
||||||
if (dest->accessType == VIR_NWFILTER_VAR_ACCESS_ELEMENT)
|
if (dest->accessType == VIR_NWFILTER_VAR_ACCESS_ELEMENT)
|
||||||
virReportError(VIR_ERR_INVALID_ARG,
|
virReportError(VIR_ERR_INVALID_ARG, "%s",
|
||||||
_("Malformatted array index"));
|
_("Malformatted array index"));
|
||||||
else
|
else
|
||||||
virReportError(VIR_ERR_INVALID_ARG,
|
virReportError(VIR_ERR_INVALID_ARG, "%s",
|
||||||
_("Malformatted iterator id"));
|
_("Malformatted iterator id"));
|
||||||
goto err_exit;
|
goto err_exit;
|
||||||
}
|
}
|
||||||
@ -1026,7 +1026,7 @@ virNWFilterVarAccessParse(const char *varAccess)
|
|||||||
|
|
||||||
return dest;
|
return dest;
|
||||||
} else {
|
} else {
|
||||||
virReportError(VIR_ERR_INVALID_ARG,
|
virReportError(VIR_ERR_INVALID_ARG, "%s",
|
||||||
_("Malformatted variable"));
|
_("Malformatted variable"));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
/*
|
/*
|
||||||
* datatypes.h: management of structs for public data types
|
* datatypes.h: management of structs for public data types
|
||||||
*
|
*
|
||||||
* Copyright (C) 2006-2011 Red Hat, Inc.
|
* Copyright (C) 2006-2012 Red Hat, Inc.
|
||||||
*
|
*
|
||||||
* This library is free software; you can redistribute it and/or
|
* This library is free software; you can redistribute it and/or
|
||||||
* modify it under the terms of the GNU Lesser General Public
|
* modify it under the terms of the GNU Lesser General Public
|
||||||
@ -138,7 +138,7 @@ virUnrefConnect(virConnectPtr conn) {
|
|||||||
int refs;
|
int refs;
|
||||||
|
|
||||||
if ((!VIR_IS_CONNECT(conn))) {
|
if ((!VIR_IS_CONNECT(conn))) {
|
||||||
virLibConnError(VIR_ERR_INVALID_CONN, _("no connection"));
|
virLibConnError(VIR_ERR_INVALID_CONN, "%s", _("no connection"));
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
virMutexLock(&conn->lock);
|
virMutexLock(&conn->lock);
|
||||||
@ -173,7 +173,7 @@ virGetDomain(virConnectPtr conn, const char *name, const unsigned char *uuid) {
|
|||||||
char uuidstr[VIR_UUID_STRING_BUFLEN];
|
char uuidstr[VIR_UUID_STRING_BUFLEN];
|
||||||
|
|
||||||
if (!VIR_IS_CONNECT(conn)) {
|
if (!VIR_IS_CONNECT(conn)) {
|
||||||
virLibConnError(VIR_ERR_INVALID_CONN, _("no connection"));
|
virLibConnError(VIR_ERR_INVALID_CONN, "%s", _("no connection"));
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
virCheckNonNullArgReturn(name, NULL);
|
virCheckNonNullArgReturn(name, NULL);
|
||||||
@ -264,7 +264,8 @@ virUnrefDomain(virDomainPtr domain) {
|
|||||||
int refs;
|
int refs;
|
||||||
|
|
||||||
if (!VIR_IS_CONNECTED_DOMAIN(domain)) {
|
if (!VIR_IS_CONNECTED_DOMAIN(domain)) {
|
||||||
virLibConnError(VIR_ERR_INVALID_DOMAIN, _("bad domain or no connection"));
|
virLibConnError(VIR_ERR_INVALID_DOMAIN, "%s",
|
||||||
|
_("bad domain or no connection"));
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
virMutexLock(&domain->conn->lock);
|
virMutexLock(&domain->conn->lock);
|
||||||
@ -300,7 +301,7 @@ virGetNetwork(virConnectPtr conn, const char *name, const unsigned char *uuid) {
|
|||||||
char uuidstr[VIR_UUID_STRING_BUFLEN];
|
char uuidstr[VIR_UUID_STRING_BUFLEN];
|
||||||
|
|
||||||
if (!VIR_IS_CONNECT(conn)) {
|
if (!VIR_IS_CONNECT(conn)) {
|
||||||
virLibConnError(VIR_ERR_INVALID_CONN, _("no connection"));
|
virLibConnError(VIR_ERR_INVALID_CONN, "%s", _("no connection"));
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
virCheckNonNullArgReturn(name, NULL);
|
virCheckNonNullArgReturn(name, NULL);
|
||||||
@ -389,7 +390,7 @@ virUnrefNetwork(virNetworkPtr network) {
|
|||||||
int refs;
|
int refs;
|
||||||
|
|
||||||
if (!VIR_IS_CONNECTED_NETWORK(network)) {
|
if (!VIR_IS_CONNECTED_NETWORK(network)) {
|
||||||
virLibConnError(VIR_ERR_INVALID_NETWORK,
|
virLibConnError(VIR_ERR_INVALID_NETWORK, "%s",
|
||||||
_("bad network or no connection"));
|
_("bad network or no connection"));
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
@ -427,7 +428,7 @@ virGetInterface(virConnectPtr conn, const char *name, const char *mac) {
|
|||||||
virInterfacePtr ret = NULL;
|
virInterfacePtr ret = NULL;
|
||||||
|
|
||||||
if (!VIR_IS_CONNECT(conn)) {
|
if (!VIR_IS_CONNECT(conn)) {
|
||||||
virLibConnError(VIR_ERR_INVALID_CONN, _("no connection"));
|
virLibConnError(VIR_ERR_INVALID_CONN, "%s", _("no connection"));
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
virCheckNonNullArgReturn(name, NULL);
|
virCheckNonNullArgReturn(name, NULL);
|
||||||
@ -522,7 +523,7 @@ virUnrefInterface(virInterfacePtr iface) {
|
|||||||
int refs;
|
int refs;
|
||||||
|
|
||||||
if (!VIR_IS_CONNECTED_INTERFACE(iface)) {
|
if (!VIR_IS_CONNECTED_INTERFACE(iface)) {
|
||||||
virLibConnError(VIR_ERR_INVALID_INTERFACE,
|
virLibConnError(VIR_ERR_INVALID_INTERFACE, "%s",
|
||||||
_("bad interface or no connection"));
|
_("bad interface or no connection"));
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
@ -561,7 +562,7 @@ virGetStoragePool(virConnectPtr conn, const char *name,
|
|||||||
char uuidstr[VIR_UUID_STRING_BUFLEN];
|
char uuidstr[VIR_UUID_STRING_BUFLEN];
|
||||||
|
|
||||||
if (!VIR_IS_CONNECT(conn)) {
|
if (!VIR_IS_CONNECT(conn)) {
|
||||||
virLibConnError(VIR_ERR_INVALID_CONN, _("no connection"));
|
virLibConnError(VIR_ERR_INVALID_CONN, "%s", _("no connection"));
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
virCheckNonNullArgReturn(name, NULL);
|
virCheckNonNullArgReturn(name, NULL);
|
||||||
@ -651,7 +652,7 @@ virUnrefStoragePool(virStoragePoolPtr pool) {
|
|||||||
int refs;
|
int refs;
|
||||||
|
|
||||||
if (!VIR_IS_CONNECTED_STORAGE_POOL(pool)) {
|
if (!VIR_IS_CONNECTED_STORAGE_POOL(pool)) {
|
||||||
virLibConnError(VIR_ERR_INVALID_STORAGE_POOL,
|
virLibConnError(VIR_ERR_INVALID_STORAGE_POOL, "%s",
|
||||||
_("bad storage pool or no connection"));
|
_("bad storage pool or no connection"));
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
@ -690,7 +691,7 @@ virGetStorageVol(virConnectPtr conn, const char *pool, const char *name,
|
|||||||
virStorageVolPtr ret = NULL;
|
virStorageVolPtr ret = NULL;
|
||||||
|
|
||||||
if (!VIR_IS_CONNECT(conn)) {
|
if (!VIR_IS_CONNECT(conn)) {
|
||||||
virLibConnError(VIR_ERR_INVALID_CONN, _("no connection"));
|
virLibConnError(VIR_ERR_INVALID_CONN, "%s", _("no connection"));
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
virCheckNonNullArgReturn(name, NULL);
|
virCheckNonNullArgReturn(name, NULL);
|
||||||
@ -790,7 +791,7 @@ virUnrefStorageVol(virStorageVolPtr vol) {
|
|||||||
int refs;
|
int refs;
|
||||||
|
|
||||||
if (!VIR_IS_CONNECTED_STORAGE_VOL(vol)) {
|
if (!VIR_IS_CONNECTED_STORAGE_VOL(vol)) {
|
||||||
virLibConnError(VIR_ERR_INVALID_STORAGE_VOL,
|
virLibConnError(VIR_ERR_INVALID_STORAGE_VOL, "%s",
|
||||||
_("bad storage volume or no connection"));
|
_("bad storage volume or no connection"));
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
@ -827,7 +828,7 @@ virGetNodeDevice(virConnectPtr conn, const char *name)
|
|||||||
virNodeDevicePtr ret = NULL;
|
virNodeDevicePtr ret = NULL;
|
||||||
|
|
||||||
if (!VIR_IS_CONNECT(conn)) {
|
if (!VIR_IS_CONNECT(conn)) {
|
||||||
virLibConnError(VIR_ERR_INVALID_CONN, _("no connection"));
|
virLibConnError(VIR_ERR_INVALID_CONN, "%s", _("no connection"));
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
virCheckNonNullArgReturn(name, NULL);
|
virCheckNonNullArgReturn(name, NULL);
|
||||||
@ -945,7 +946,7 @@ virGetSecret(virConnectPtr conn, const unsigned char *uuid,
|
|||||||
char uuidstr[VIR_UUID_STRING_BUFLEN];
|
char uuidstr[VIR_UUID_STRING_BUFLEN];
|
||||||
|
|
||||||
if (!VIR_IS_CONNECT(conn)) {
|
if (!VIR_IS_CONNECT(conn)) {
|
||||||
virLibConnError(VIR_ERR_INVALID_CONN, _("no connection"));
|
virLibConnError(VIR_ERR_INVALID_CONN, "%s", _("no connection"));
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
virCheckNonNullArgReturn(uuid, NULL);
|
virCheckNonNullArgReturn(uuid, NULL);
|
||||||
@ -1031,7 +1032,8 @@ virUnrefSecret(virSecretPtr secret) {
|
|||||||
int refs;
|
int refs;
|
||||||
|
|
||||||
if (!VIR_IS_CONNECTED_SECRET(secret)) {
|
if (!VIR_IS_CONNECTED_SECRET(secret)) {
|
||||||
virLibConnError(VIR_ERR_INVALID_SECRET, _("bad secret or no connection"));
|
virLibConnError(VIR_ERR_INVALID_SECRET, "%s",
|
||||||
|
_("bad secret or no connection"));
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
virMutexLock(&secret->conn->lock);
|
virMutexLock(&secret->conn->lock);
|
||||||
@ -1126,7 +1128,7 @@ virGetNWFilter(virConnectPtr conn, const char *name, const unsigned char *uuid)
|
|||||||
char uuidstr[VIR_UUID_STRING_BUFLEN];
|
char uuidstr[VIR_UUID_STRING_BUFLEN];
|
||||||
|
|
||||||
if (!VIR_IS_CONNECT(conn)) {
|
if (!VIR_IS_CONNECT(conn)) {
|
||||||
virLibConnError(VIR_ERR_INVALID_CONN, _("no connection"));
|
virLibConnError(VIR_ERR_INVALID_CONN, "%s", _("no connection"));
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
virCheckNonNullArgReturn(name, NULL);
|
virCheckNonNullArgReturn(name, NULL);
|
||||||
@ -1218,7 +1220,7 @@ virUnrefNWFilter(virNWFilterPtr nwfilter)
|
|||||||
int refs;
|
int refs;
|
||||||
|
|
||||||
if (!VIR_IS_CONNECTED_NWFILTER(nwfilter)) {
|
if (!VIR_IS_CONNECTED_NWFILTER(nwfilter)) {
|
||||||
virLibConnError(VIR_ERR_INVALID_NWFILTER,
|
virLibConnError(VIR_ERR_INVALID_NWFILTER, "%s",
|
||||||
_("bad nwfilter or no connection"));
|
_("bad nwfilter or no connection"));
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
@ -1244,7 +1246,7 @@ virGetDomainSnapshot(virDomainPtr domain, const char *name)
|
|||||||
virDomainSnapshotPtr ret = NULL;
|
virDomainSnapshotPtr ret = NULL;
|
||||||
|
|
||||||
if (!VIR_IS_DOMAIN(domain)) {
|
if (!VIR_IS_DOMAIN(domain)) {
|
||||||
virLibConnError(VIR_ERR_INVALID_DOMAIN, _("bad domain"));
|
virLibConnError(VIR_ERR_INVALID_DOMAIN, "%s", _("bad domain"));
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
virCheckNonNullArgReturn(name, NULL);
|
virCheckNonNullArgReturn(name, NULL);
|
||||||
@ -1307,7 +1309,8 @@ virUnrefDomainSnapshot(virDomainSnapshotPtr snapshot)
|
|||||||
int refs;
|
int refs;
|
||||||
|
|
||||||
if (!VIR_IS_DOMAIN_SNAPSHOT(snapshot)) {
|
if (!VIR_IS_DOMAIN_SNAPSHOT(snapshot)) {
|
||||||
virLibConnError(VIR_ERR_INVALID_DOMAIN_SNAPSHOT, _("not a snapshot"));
|
virLibConnError(VIR_ERR_INVALID_DOMAIN_SNAPSHOT, "%s",
|
||||||
|
_("not a snapshot"));
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -2555,7 +2555,7 @@ virDomainSave(virDomainPtr domain, const char *to)
|
|||||||
|
|
||||||
/* We must absolutize the file path as the save is done out of process */
|
/* We must absolutize the file path as the save is done out of process */
|
||||||
if (virFileAbsPath(to, &absolute_to) < 0) {
|
if (virFileAbsPath(to, &absolute_to) < 0) {
|
||||||
virLibConnError(VIR_ERR_INTERNAL_ERROR,
|
virLibConnError(VIR_ERR_INTERNAL_ERROR, "%s",
|
||||||
_("could not build absolute output file path"));
|
_("could not build absolute output file path"));
|
||||||
goto error;
|
goto error;
|
||||||
}
|
}
|
||||||
@ -2650,7 +2650,7 @@ virDomainSaveFlags(virDomainPtr domain, const char *to,
|
|||||||
|
|
||||||
/* We must absolutize the file path as the save is done out of process */
|
/* We must absolutize the file path as the save is done out of process */
|
||||||
if (virFileAbsPath(to, &absolute_to) < 0) {
|
if (virFileAbsPath(to, &absolute_to) < 0) {
|
||||||
virLibConnError(VIR_ERR_INTERNAL_ERROR,
|
virLibConnError(VIR_ERR_INTERNAL_ERROR, "%s",
|
||||||
_("could not build absolute output file path"));
|
_("could not build absolute output file path"));
|
||||||
goto error;
|
goto error;
|
||||||
}
|
}
|
||||||
@ -2706,7 +2706,7 @@ virDomainRestore(virConnectPtr conn, const char *from)
|
|||||||
|
|
||||||
/* We must absolutize the file path as the restore is done out of process */
|
/* We must absolutize the file path as the restore is done out of process */
|
||||||
if (virFileAbsPath(from, &absolute_from) < 0) {
|
if (virFileAbsPath(from, &absolute_from) < 0) {
|
||||||
virLibConnError(VIR_ERR_INTERNAL_ERROR,
|
virLibConnError(VIR_ERR_INTERNAL_ERROR, "%s",
|
||||||
_("could not build absolute input file path"));
|
_("could not build absolute input file path"));
|
||||||
goto error;
|
goto error;
|
||||||
}
|
}
|
||||||
@ -2788,7 +2788,7 @@ virDomainRestoreFlags(virConnectPtr conn, const char *from, const char *dxml,
|
|||||||
|
|
||||||
/* We must absolutize the file path as the restore is done out of process */
|
/* We must absolutize the file path as the restore is done out of process */
|
||||||
if (virFileAbsPath(from, &absolute_from) < 0) {
|
if (virFileAbsPath(from, &absolute_from) < 0) {
|
||||||
virLibConnError(VIR_ERR_INTERNAL_ERROR,
|
virLibConnError(VIR_ERR_INTERNAL_ERROR, "%s",
|
||||||
_("could not build absolute input file path"));
|
_("could not build absolute input file path"));
|
||||||
goto error;
|
goto error;
|
||||||
}
|
}
|
||||||
@ -2845,7 +2845,7 @@ virDomainSaveImageGetXMLDesc(virConnectPtr conn, const char *file,
|
|||||||
virCheckNonNullArgGoto(file, error);
|
virCheckNonNullArgGoto(file, error);
|
||||||
|
|
||||||
if ((conn->flags & VIR_CONNECT_RO) && (flags & VIR_DOMAIN_XML_SECURE)) {
|
if ((conn->flags & VIR_CONNECT_RO) && (flags & VIR_DOMAIN_XML_SECURE)) {
|
||||||
virLibConnError(VIR_ERR_OPERATION_DENIED,
|
virLibConnError(VIR_ERR_OPERATION_DENIED, "%s",
|
||||||
_("virDomainSaveImageGetXMLDesc with secure flag"));
|
_("virDomainSaveImageGetXMLDesc with secure flag"));
|
||||||
goto error;
|
goto error;
|
||||||
}
|
}
|
||||||
@ -2856,7 +2856,7 @@ virDomainSaveImageGetXMLDesc(virConnectPtr conn, const char *file,
|
|||||||
|
|
||||||
/* We must absolutize the file path as the read is done out of process */
|
/* We must absolutize the file path as the read is done out of process */
|
||||||
if (virFileAbsPath(file, &absolute_file) < 0) {
|
if (virFileAbsPath(file, &absolute_file) < 0) {
|
||||||
virLibConnError(VIR_ERR_INTERNAL_ERROR,
|
virLibConnError(VIR_ERR_INTERNAL_ERROR, "%s",
|
||||||
_("could not build absolute input file path"));
|
_("could not build absolute input file path"));
|
||||||
goto error;
|
goto error;
|
||||||
}
|
}
|
||||||
@ -2937,7 +2937,7 @@ virDomainSaveImageDefineXML(virConnectPtr conn, const char *file,
|
|||||||
|
|
||||||
/* We must absolutize the file path as the read is done out of process */
|
/* We must absolutize the file path as the read is done out of process */
|
||||||
if (virFileAbsPath(file, &absolute_file) < 0) {
|
if (virFileAbsPath(file, &absolute_file) < 0) {
|
||||||
virLibConnError(VIR_ERR_INTERNAL_ERROR,
|
virLibConnError(VIR_ERR_INTERNAL_ERROR, "%s",
|
||||||
_("could not build absolute input file path"));
|
_("could not build absolute input file path"));
|
||||||
goto error;
|
goto error;
|
||||||
}
|
}
|
||||||
@ -3029,7 +3029,7 @@ virDomainCoreDump(virDomainPtr domain, const char *to, unsigned int flags)
|
|||||||
|
|
||||||
/* We must absolutize the file path as the save is done out of process */
|
/* We must absolutize the file path as the save is done out of process */
|
||||||
if (virFileAbsPath(to, &absolute_to) < 0) {
|
if (virFileAbsPath(to, &absolute_to) < 0) {
|
||||||
virLibConnError(VIR_ERR_INTERNAL_ERROR,
|
virLibConnError(VIR_ERR_INTERNAL_ERROR, "%s",
|
||||||
_("could not build absolute core file path"));
|
_("could not build absolute core file path"));
|
||||||
goto error;
|
goto error;
|
||||||
}
|
}
|
||||||
@ -4341,7 +4341,7 @@ virDomainGetXMLDesc(virDomainPtr domain, unsigned int flags)
|
|||||||
conn = domain->conn;
|
conn = domain->conn;
|
||||||
|
|
||||||
if ((conn->flags & VIR_CONNECT_RO) && (flags & VIR_DOMAIN_XML_SECURE)) {
|
if ((conn->flags & VIR_CONNECT_RO) && (flags & VIR_DOMAIN_XML_SECURE)) {
|
||||||
virLibConnError(VIR_ERR_OPERATION_DENIED,
|
virLibConnError(VIR_ERR_OPERATION_DENIED, "%s",
|
||||||
_("virDomainGetXMLDesc with secure flag"));
|
_("virDomainGetXMLDesc with secure flag"));
|
||||||
goto error;
|
goto error;
|
||||||
}
|
}
|
||||||
@ -4523,7 +4523,7 @@ virDomainMigrateVersion1 (virDomainPtr domain,
|
|||||||
goto done;
|
goto done;
|
||||||
|
|
||||||
if (uri == NULL && uri_out == NULL) {
|
if (uri == NULL && uri_out == NULL) {
|
||||||
virLibConnError(VIR_ERR_INTERNAL_ERROR,
|
virLibConnError(VIR_ERR_INTERNAL_ERROR, "%s",
|
||||||
_("domainMigratePrepare did not set uri"));
|
_("domainMigratePrepare did not set uri"));
|
||||||
goto done;
|
goto done;
|
||||||
}
|
}
|
||||||
@ -4635,7 +4635,7 @@ virDomainMigrateVersion2 (virDomainPtr domain,
|
|||||||
goto done;
|
goto done;
|
||||||
|
|
||||||
if (uri == NULL && uri_out == NULL) {
|
if (uri == NULL && uri_out == NULL) {
|
||||||
virLibConnError(VIR_ERR_INTERNAL_ERROR,
|
virLibConnError(VIR_ERR_INTERNAL_ERROR, "%s",
|
||||||
_("domainMigratePrepare2 did not set uri"));
|
_("domainMigratePrepare2 did not set uri"));
|
||||||
virDispatchError(domain->conn);
|
virDispatchError(domain->conn);
|
||||||
cancelled = 1;
|
cancelled = 1;
|
||||||
@ -4781,7 +4781,7 @@ virDomainMigrateVersion3(virDomainPtr domain,
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (uri == NULL && uri_out == NULL) {
|
if (uri == NULL && uri_out == NULL) {
|
||||||
virLibConnError(VIR_ERR_INTERNAL_ERROR,
|
virLibConnError(VIR_ERR_INTERNAL_ERROR, "%s",
|
||||||
_("domainMigratePrepare3 did not set uri"));
|
_("domainMigratePrepare3 did not set uri"));
|
||||||
virDispatchError(domain->conn);
|
virDispatchError(domain->conn);
|
||||||
goto finish;
|
goto finish;
|
||||||
@ -5198,7 +5198,7 @@ virDomainMigrate (virDomainPtr domain,
|
|||||||
}
|
}
|
||||||
flags &= ~VIR_MIGRATE_CHANGE_PROTECTION;
|
flags &= ~VIR_MIGRATE_CHANGE_PROTECTION;
|
||||||
if (flags & VIR_MIGRATE_TUNNELLED) {
|
if (flags & VIR_MIGRATE_TUNNELLED) {
|
||||||
virLibConnError(VIR_ERR_OPERATION_INVALID,
|
virLibConnError(VIR_ERR_OPERATION_INVALID, "%s",
|
||||||
_("cannot perform tunnelled migration without using peer2peer flag"));
|
_("cannot perform tunnelled migration without using peer2peer flag"));
|
||||||
goto error;
|
goto error;
|
||||||
}
|
}
|
||||||
@ -5400,7 +5400,7 @@ virDomainMigrate2(virDomainPtr domain,
|
|||||||
}
|
}
|
||||||
flags &= ~VIR_MIGRATE_CHANGE_PROTECTION;
|
flags &= ~VIR_MIGRATE_CHANGE_PROTECTION;
|
||||||
if (flags & VIR_MIGRATE_TUNNELLED) {
|
if (flags & VIR_MIGRATE_TUNNELLED) {
|
||||||
virLibConnError(VIR_ERR_OPERATION_INVALID,
|
virLibConnError(VIR_ERR_OPERATION_INVALID, "%s",
|
||||||
_("cannot perform tunnelled migration without using peer2peer flag"));
|
_("cannot perform tunnelled migration without using peer2peer flag"));
|
||||||
goto error;
|
goto error;
|
||||||
}
|
}
|
||||||
@ -14951,7 +14951,7 @@ int virStreamSendAll(virStreamPtr stream,
|
|||||||
virCheckNonNullArgGoto(handler, cleanup);
|
virCheckNonNullArgGoto(handler, cleanup);
|
||||||
|
|
||||||
if (stream->flags & VIR_STREAM_NONBLOCK) {
|
if (stream->flags & VIR_STREAM_NONBLOCK) {
|
||||||
virLibConnError(VIR_ERR_OPERATION_INVALID,
|
virLibConnError(VIR_ERR_OPERATION_INVALID, "%s",
|
||||||
_("data sources cannot be used for non-blocking streams"));
|
_("data sources cannot be used for non-blocking streams"));
|
||||||
goto cleanup;
|
goto cleanup;
|
||||||
}
|
}
|
||||||
@ -15050,7 +15050,7 @@ int virStreamRecvAll(virStreamPtr stream,
|
|||||||
virCheckNonNullArgGoto(handler, cleanup);
|
virCheckNonNullArgGoto(handler, cleanup);
|
||||||
|
|
||||||
if (stream->flags & VIR_STREAM_NONBLOCK) {
|
if (stream->flags & VIR_STREAM_NONBLOCK) {
|
||||||
virLibConnError(VIR_ERR_OPERATION_INVALID,
|
virLibConnError(VIR_ERR_OPERATION_INVALID, "%s",
|
||||||
_("data sinks cannot be used for non-blocking streams"));
|
_("data sinks cannot be used for non-blocking streams"));
|
||||||
goto cleanup;
|
goto cleanup;
|
||||||
}
|
}
|
||||||
@ -17040,7 +17040,7 @@ virDomainSnapshotGetXMLDesc(virDomainSnapshotPtr snapshot,
|
|||||||
conn = snapshot->domain->conn;
|
conn = snapshot->domain->conn;
|
||||||
|
|
||||||
if ((conn->flags & VIR_CONNECT_RO) && (flags & VIR_DOMAIN_XML_SECURE)) {
|
if ((conn->flags & VIR_CONNECT_RO) && (flags & VIR_DOMAIN_XML_SECURE)) {
|
||||||
virLibConnError(VIR_ERR_OPERATION_DENIED,
|
virLibConnError(VIR_ERR_OPERATION_DENIED, "%s",
|
||||||
_("virDomainSnapshotGetXMLDesc with secure flag"));
|
_("virDomainSnapshotGetXMLDesc with secure flag"));
|
||||||
goto error;
|
goto error;
|
||||||
}
|
}
|
||||||
|
@ -2023,7 +2023,8 @@ lxcDomainSetBlkioParameters(virDomainPtr dom,
|
|||||||
|
|
||||||
if (flags & VIR_DOMAIN_AFFECT_LIVE) {
|
if (flags & VIR_DOMAIN_AFFECT_LIVE) {
|
||||||
if (!lxcCgroupControllerActive(driver, VIR_CGROUP_CONTROLLER_BLKIO)) {
|
if (!lxcCgroupControllerActive(driver, VIR_CGROUP_CONTROLLER_BLKIO)) {
|
||||||
lxcError(VIR_ERR_OPERATION_INVALID, _("blkio cgroup isn't mounted"));
|
lxcError(VIR_ERR_OPERATION_INVALID, "%s",
|
||||||
|
_("blkio cgroup isn't mounted"));
|
||||||
goto cleanup;
|
goto cleanup;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -2127,7 +2128,8 @@ lxcDomainGetBlkioParameters(virDomainPtr dom,
|
|||||||
|
|
||||||
if (flags & VIR_DOMAIN_AFFECT_LIVE) {
|
if (flags & VIR_DOMAIN_AFFECT_LIVE) {
|
||||||
if (!lxcCgroupControllerActive(driver, VIR_CGROUP_CONTROLLER_BLKIO)) {
|
if (!lxcCgroupControllerActive(driver, VIR_CGROUP_CONTROLLER_BLKIO)) {
|
||||||
lxcError(VIR_ERR_OPERATION_INVALID, _("blkio cgroup isn't mounted"));
|
lxcError(VIR_ERR_OPERATION_INVALID, "%s",
|
||||||
|
_("blkio cgroup isn't mounted"));
|
||||||
goto cleanup;
|
goto cleanup;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -2,6 +2,7 @@
|
|||||||
* nwfilter_dhcpsnoop.c: support for DHCP snooping used by a VM
|
* nwfilter_dhcpsnoop.c: support for DHCP snooping used by a VM
|
||||||
* on an interface
|
* on an interface
|
||||||
*
|
*
|
||||||
|
* Copyright (C) 2012 Red Hat, Inc.
|
||||||
* Copyright (C) 2011,2012 IBM Corp.
|
* Copyright (C) 2011,2012 IBM Corp.
|
||||||
*
|
*
|
||||||
* Authors:
|
* Authors:
|
||||||
@ -886,7 +887,7 @@ virNWFilterSnoopReqLeaseDel(virNWFilterSnoopReqPtr req,
|
|||||||
if (req->techdriver &&
|
if (req->techdriver &&
|
||||||
req->techdriver->applyDHCPOnlyRules(req->ifname, &req->macaddr,
|
req->techdriver->applyDHCPOnlyRules(req->ifname, &req->macaddr,
|
||||||
dhcpsrvrs, false) < 0) {
|
dhcpsrvrs, false) < 0) {
|
||||||
virReportError(VIR_ERR_INTERNAL_ERROR,
|
virReportError(VIR_ERR_INTERNAL_ERROR, "%s",
|
||||||
_("virNWFilterSnoopListDel failed"));
|
_("virNWFilterSnoopListDel failed"));
|
||||||
ret = -1;
|
ret = -1;
|
||||||
}
|
}
|
||||||
@ -1633,7 +1634,7 @@ virNWFilterDHCPSnoopReq(virNWFilterTechDriverPtr techdriver,
|
|||||||
|
|
||||||
if (techdriver->applyDHCPOnlyRules(req->ifname, &req->macaddr,
|
if (techdriver->applyDHCPOnlyRules(req->ifname, &req->macaddr,
|
||||||
dhcpsrvrs, false) < 0) {
|
dhcpsrvrs, false) < 0) {
|
||||||
virReportError(VIR_ERR_INTERNAL_ERROR,
|
virReportError(VIR_ERR_INTERNAL_ERROR, "%s",
|
||||||
_("applyDHCPOnlyRules "
|
_("applyDHCPOnlyRules "
|
||||||
"failed - spoofing not protected!"));
|
"failed - spoofing not protected!"));
|
||||||
goto exit_snoopreqput;
|
goto exit_snoopreqput;
|
||||||
|
@ -2017,7 +2017,7 @@ openvzUpdateDevice(virDomainDefPtr vmdef,
|
|||||||
|| cur->accessmode != fs->accessmode
|
|| cur->accessmode != fs->accessmode
|
||||||
|| cur->wrpolicy != fs->wrpolicy
|
|| cur->wrpolicy != fs->wrpolicy
|
||||||
|| cur->readonly != fs->readonly) {
|
|| cur->readonly != fs->readonly) {
|
||||||
virReportError(VIR_ERR_CONFIG_UNSUPPORTED,
|
virReportError(VIR_ERR_CONFIG_UNSUPPORTED, "%s",
|
||||||
_("Can only modify disk quota"));
|
_("Can only modify disk quota"));
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
@ -45,7 +45,7 @@ openvzKBPerPages(void)
|
|||||||
if (kb_per_pages > 0) {
|
if (kb_per_pages > 0) {
|
||||||
kb_per_pages /= 1024;
|
kb_per_pages /= 1024;
|
||||||
} else {
|
} else {
|
||||||
virReportError(VIR_ERR_INTERNAL_ERROR,
|
virReportError(VIR_ERR_INTERNAL_ERROR, "%s",
|
||||||
_("Can't determine page size"));
|
_("Can't determine page size"));
|
||||||
kb_per_pages = 0;
|
kb_per_pages = 0;
|
||||||
return -1;
|
return -1;
|
||||||
|
@ -333,7 +333,7 @@ int qemuSetupCgroup(struct qemud_driver *driver,
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
virReportError(VIR_ERR_CONFIG_UNSUPPORTED,
|
virReportError(VIR_ERR_CONFIG_UNSUPPORTED, "%s",
|
||||||
_("Block I/O tuning is not available on this host"));
|
_("Block I/O tuning is not available on this host"));
|
||||||
goto cleanup;
|
goto cleanup;
|
||||||
}
|
}
|
||||||
@ -372,7 +372,7 @@ int qemuSetupCgroup(struct qemud_driver *driver,
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
virReportError(VIR_ERR_CONFIG_UNSUPPORTED,
|
virReportError(VIR_ERR_CONFIG_UNSUPPORTED, "%s",
|
||||||
_("Memory cgroup is not available on this host"));
|
_("Memory cgroup is not available on this host"));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -3424,7 +3424,7 @@ qemuBuildHubDevStr(virDomainHubDefPtr dev,
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (!qemuCapsGet(qemuCaps, QEMU_CAPS_USB_HUB)) {
|
if (!qemuCapsGet(qemuCaps, QEMU_CAPS_USB_HUB)) {
|
||||||
virReportError(VIR_ERR_CONFIG_UNSUPPORTED,
|
virReportError(VIR_ERR_CONFIG_UNSUPPORTED, "%s",
|
||||||
_("usb-hub not supported by QEMU binary"));
|
_("usb-hub not supported by QEMU binary"));
|
||||||
goto error;
|
goto error;
|
||||||
}
|
}
|
||||||
@ -3553,7 +3553,7 @@ qemuBuildChrChardevStr(virDomainChrSourceDefPtr dev, const char *alias,
|
|||||||
|
|
||||||
case VIR_DOMAIN_CHR_TYPE_SPICEVMC:
|
case VIR_DOMAIN_CHR_TYPE_SPICEVMC:
|
||||||
if (!qemuCapsGet(qemuCaps, QEMU_CAPS_CHARDEV_SPICEVMC)) {
|
if (!qemuCapsGet(qemuCaps, QEMU_CAPS_CHARDEV_SPICEVMC)) {
|
||||||
virReportError(VIR_ERR_CONFIG_UNSUPPORTED,
|
virReportError(VIR_ERR_CONFIG_UNSUPPORTED, "%s",
|
||||||
_("spicevmc not supported in this QEMU binary"));
|
_("spicevmc not supported in this QEMU binary"));
|
||||||
goto error;
|
goto error;
|
||||||
}
|
}
|
||||||
@ -4808,7 +4808,7 @@ qemuBuildCommandLine(virConnectPtr conn,
|
|||||||
cont->model == -1 &&
|
cont->model == -1 &&
|
||||||
!qemuCapsGet(qemuCaps, QEMU_CAPS_PIIX3_USB_UHCI)) {
|
!qemuCapsGet(qemuCaps, QEMU_CAPS_PIIX3_USB_UHCI)) {
|
||||||
if (usblegacy) {
|
if (usblegacy) {
|
||||||
virReportError(VIR_ERR_CONFIG_UNSUPPORTED,
|
virReportError(VIR_ERR_CONFIG_UNSUPPORTED, "%s",
|
||||||
_("Multiple legacy USB controllers are "
|
_("Multiple legacy USB controllers are "
|
||||||
"not supported"));
|
"not supported"));
|
||||||
goto error;
|
goto error;
|
||||||
@ -5816,7 +5816,7 @@ qemuBuildCommandLine(virConnectPtr conn,
|
|||||||
switch (mode) {
|
switch (mode) {
|
||||||
case VIR_DOMAIN_GRAPHICS_SPICE_CHANNEL_MODE_SECURE:
|
case VIR_DOMAIN_GRAPHICS_SPICE_CHANNEL_MODE_SECURE:
|
||||||
if (!driver->spiceTLS) {
|
if (!driver->spiceTLS) {
|
||||||
virReportError(VIR_ERR_CONFIG_UNSUPPORTED,
|
virReportError(VIR_ERR_CONFIG_UNSUPPORTED, "%s",
|
||||||
_("spice secure channels set in XML configuration, but TLS is disabled in qemu.conf"));
|
_("spice secure channels set in XML configuration, but TLS is disabled in qemu.conf"));
|
||||||
goto error;
|
goto error;
|
||||||
}
|
}
|
||||||
|
@ -12885,7 +12885,7 @@ qemuDomainGetPercpuStats(virDomainPtr domain,
|
|||||||
if (!map[i]) {
|
if (!map[i]) {
|
||||||
cpu_time = 0;
|
cpu_time = 0;
|
||||||
} else if (virStrToLong_ull(pos, &pos, 10, &cpu_time) < 0) {
|
} else if (virStrToLong_ull(pos, &pos, 10, &cpu_time) < 0) {
|
||||||
virReportError(VIR_ERR_INTERNAL_ERROR,
|
virReportError(VIR_ERR_INTERNAL_ERROR, "%s",
|
||||||
_("cpuacct parse error"));
|
_("cpuacct parse error"));
|
||||||
goto cleanup;
|
goto cleanup;
|
||||||
} else {
|
} else {
|
||||||
|
@ -832,7 +832,7 @@ int qemuDomainAttachNetDevice(virConnectPtr conn,
|
|||||||
goto try_remove;
|
goto try_remove;
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
virReportError(VIR_ERR_OPERATION_FAILED,
|
virReportError(VIR_ERR_OPERATION_FAILED, "%s",
|
||||||
_("setting of link state not supported: Link is up"));
|
_("setting of link state not supported: Link is up"));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
/*
|
/*
|
||||||
* virnetsaslcontext.c: SASL encryption/auth handling
|
* virnetsaslcontext.c: SASL encryption/auth handling
|
||||||
*
|
*
|
||||||
* Copyright (C) 2010-2011 Red Hat, Inc.
|
* Copyright (C) 2010-2012 Red Hat, Inc.
|
||||||
*
|
*
|
||||||
* This library is free software; you can redistribute it and/or
|
* This library is free software; you can redistribute it and/or
|
||||||
* modify it under the terms of the GNU Lesser General Public
|
* modify it under the terms of the GNU Lesser General Public
|
||||||
@ -313,7 +313,7 @@ const char *virNetSASLSessionGetIdentity(virNetSASLSessionPtr sasl)
|
|||||||
goto cleanup;
|
goto cleanup;
|
||||||
}
|
}
|
||||||
if (val == NULL) {
|
if (val == NULL) {
|
||||||
virReportError(VIR_ERR_AUTH_FAILED,
|
virReportError(VIR_ERR_AUTH_FAILED, "%s",
|
||||||
_("no client username was found"));
|
_("no client username was found"));
|
||||||
goto cleanup;
|
goto cleanup;
|
||||||
}
|
}
|
||||||
|
@ -482,7 +482,7 @@ int virNetSocketNewConnectUNIX(const char *path,
|
|||||||
remoteAddr.len = sizeof(remoteAddr.data.un);
|
remoteAddr.len = sizeof(remoteAddr.data.un);
|
||||||
|
|
||||||
if (spawnDaemon && !binary) {
|
if (spawnDaemon && !binary) {
|
||||||
virReportError(VIR_ERR_INTERNAL_ERROR,
|
virReportError(VIR_ERR_INTERNAL_ERROR, "%s",
|
||||||
_("Auto-spawn of daemon requested, but no binary specified"));
|
_("Auto-spawn of daemon requested, but no binary specified"));
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
@ -1178,7 +1178,7 @@ int virNetSocketSendFD(virNetSocketPtr sock, int fd)
|
|||||||
{
|
{
|
||||||
int ret = -1;
|
int ret = -1;
|
||||||
if (!virNetSocketHasPassFD(sock)) {
|
if (!virNetSocketHasPassFD(sock)) {
|
||||||
virReportError(VIR_ERR_INTERNAL_ERROR,
|
virReportError(VIR_ERR_INTERNAL_ERROR, "%s",
|
||||||
_("Sending file descriptors is not supported on this socket"));
|
_("Sending file descriptors is not supported on this socket"));
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
@ -1212,7 +1212,7 @@ int virNetSocketRecvFD(virNetSocketPtr sock, int *fd)
|
|||||||
*fd = -1;
|
*fd = -1;
|
||||||
|
|
||||||
if (!virNetSocketHasPassFD(sock)) {
|
if (!virNetSocketHasPassFD(sock)) {
|
||||||
virReportError(VIR_ERR_INTERNAL_ERROR,
|
virReportError(VIR_ERR_INTERNAL_ERROR, "%s",
|
||||||
_("Receiving file descriptors is not supported on this socket"));
|
_("Receiving file descriptors is not supported on this socket"));
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
/*
|
/*
|
||||||
* storage_backend_disk.c: storage backend for disk handling
|
* storage_backend_disk.c: storage backend for disk handling
|
||||||
*
|
*
|
||||||
* Copyright (C) 2007-2008, 2010-2011 Red Hat, Inc.
|
* Copyright (C) 2007-2008, 2010-2012 Red Hat, Inc.
|
||||||
* Copyright (C) 2007-2008 Daniel P. Berrange
|
* Copyright (C) 2007-2008 Daniel P. Berrange
|
||||||
*
|
*
|
||||||
* This library is free software; you can redistribute it and/or
|
* This library is free software; you can redistribute it and/or
|
||||||
@ -399,7 +399,7 @@ virStorageBackendDiskBuildPool(virConnectPtr conn ATTRIBUTE_UNUSED,
|
|||||||
|
|
||||||
if (flags == (VIR_STORAGE_POOL_BUILD_OVERWRITE |
|
if (flags == (VIR_STORAGE_POOL_BUILD_OVERWRITE |
|
||||||
VIR_STORAGE_POOL_BUILD_NO_OVERWRITE)) {
|
VIR_STORAGE_POOL_BUILD_NO_OVERWRITE)) {
|
||||||
virReportError(VIR_ERR_OPERATION_INVALID,
|
virReportError(VIR_ERR_OPERATION_INVALID, "%s",
|
||||||
_("Overwrite and no overwrite flags"
|
_("Overwrite and no overwrite flags"
|
||||||
" are mutually exclusive"));
|
" are mutually exclusive"));
|
||||||
goto error;
|
goto error;
|
||||||
@ -415,10 +415,10 @@ virStorageBackendDiskBuildPool(virConnectPtr conn ATTRIBUTE_UNUSED,
|
|||||||
if (check > 0) {
|
if (check > 0) {
|
||||||
ok_to_mklabel = true;
|
ok_to_mklabel = true;
|
||||||
} else if (check < 0) {
|
} else if (check < 0) {
|
||||||
virReportError(VIR_ERR_OPERATION_FAILED,
|
virReportError(VIR_ERR_OPERATION_FAILED, "%s",
|
||||||
_("Error checking for disk label"));
|
_("Error checking for disk label"));
|
||||||
} else {
|
} else {
|
||||||
virReportError(VIR_ERR_OPERATION_INVALID,
|
virReportError(VIR_ERR_OPERATION_INVALID, "%s",
|
||||||
_("Disk label already present"));
|
_("Disk label already present"));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
/*
|
/*
|
||||||
* storage_backend_fs.c: storage backend for FS and directory handling
|
* storage_backend_fs.c: storage backend for FS and directory handling
|
||||||
*
|
*
|
||||||
* Copyright (C) 2007-2011 Red Hat, Inc.
|
* Copyright (C) 2007-2012 Red Hat, Inc.
|
||||||
* Copyright (C) 2007-2008 Daniel P. Berrange
|
* Copyright (C) 2007-2008 Daniel P. Berrange
|
||||||
*
|
*
|
||||||
* This library is free software; you can redistribute it and/or
|
* This library is free software; you can redistribute it and/or
|
||||||
@ -598,7 +598,7 @@ virStorageBackendFileSystemProbe(const char *device,
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (blkid_do_probe(probe) != 1) {
|
if (blkid_do_probe(probe) != 1) {
|
||||||
virReportError(VIR_ERR_STORAGE_PROBE_FAILED,
|
virReportError(VIR_ERR_STORAGE_PROBE_FAILED, "%s",
|
||||||
_("Found additional probes to run, "
|
_("Found additional probes to run, "
|
||||||
"filesystem probing may be incorrect"));
|
"filesystem probing may be incorrect"));
|
||||||
ret = FILESYSTEM_PROBE_ERROR;
|
ret = FILESYSTEM_PROBE_ERROR;
|
||||||
@ -620,7 +620,7 @@ static virStoragePoolProbeResult
|
|||||||
virStorageBackendFileSystemProbe(const char *device ATTRIBUTE_UNUSED,
|
virStorageBackendFileSystemProbe(const char *device ATTRIBUTE_UNUSED,
|
||||||
const char *format ATTRIBUTE_UNUSED)
|
const char *format ATTRIBUTE_UNUSED)
|
||||||
{
|
{
|
||||||
virReportError(VIR_ERR_OPERATION_INVALID,
|
virReportError(VIR_ERR_OPERATION_INVALID, "%s",
|
||||||
_("probing for filesystems is unsupported "
|
_("probing for filesystems is unsupported "
|
||||||
"by this build"));
|
"by this build"));
|
||||||
|
|
||||||
@ -743,7 +743,7 @@ virStorageBackendFileSystemBuild(virConnectPtr conn ATTRIBUTE_UNUSED,
|
|||||||
if (flags == (VIR_STORAGE_POOL_BUILD_OVERWRITE |
|
if (flags == (VIR_STORAGE_POOL_BUILD_OVERWRITE |
|
||||||
VIR_STORAGE_POOL_BUILD_NO_OVERWRITE)) {
|
VIR_STORAGE_POOL_BUILD_NO_OVERWRITE)) {
|
||||||
|
|
||||||
virReportError(VIR_ERR_OPERATION_INVALID,
|
virReportError(VIR_ERR_OPERATION_INVALID, "%s",
|
||||||
_("Overwrite and no overwrite flags"
|
_("Overwrite and no overwrite flags"
|
||||||
" are mutually exclusive"));
|
" are mutually exclusive"));
|
||||||
goto error;
|
goto error;
|
||||||
|
@ -65,7 +65,7 @@ static int virStorageBackendRBDOpenRADOSConn(virStorageBackendRBDStatePtr *ptr,
|
|||||||
VIR_DEBUG("Using cephx authorization");
|
VIR_DEBUG("Using cephx authorization");
|
||||||
if (rados_create(&ptr->cluster,
|
if (rados_create(&ptr->cluster,
|
||||||
pool->def->source.auth.cephx.username) < 0) {
|
pool->def->source.auth.cephx.username) < 0) {
|
||||||
virReportError(VIR_ERR_INTERNAL_ERROR,
|
virReportError(VIR_ERR_INTERNAL_ERROR, "%s",
|
||||||
_("failed to initialize RADOS"));
|
_("failed to initialize RADOS"));
|
||||||
goto cleanup;
|
goto cleanup;
|
||||||
}
|
}
|
||||||
@ -84,7 +84,7 @@ static int virStorageBackendRBDOpenRADOSConn(virStorageBackendRBDStatePtr *ptr,
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (secret == NULL) {
|
if (secret == NULL) {
|
||||||
virReportError(VIR_ERR_NO_SECRET,
|
virReportError(VIR_ERR_NO_SECRET, "%s",
|
||||||
_("failed to find the secret"));
|
_("failed to find the secret"));
|
||||||
goto cleanup;
|
goto cleanup;
|
||||||
}
|
}
|
||||||
@ -95,7 +95,7 @@ static int virStorageBackendRBDOpenRADOSConn(virStorageBackendRBDStatePtr *ptr,
|
|||||||
memset(secret_value, 0, secret_value_size);
|
memset(secret_value, 0, secret_value_size);
|
||||||
|
|
||||||
if (rados_key == NULL) {
|
if (rados_key == NULL) {
|
||||||
virReportError(VIR_ERR_INTERNAL_ERROR,
|
virReportError(VIR_ERR_INTERNAL_ERROR, "%s",
|
||||||
_("failed to decode the RADOS key"));
|
_("failed to decode the RADOS key"));
|
||||||
goto cleanup;
|
goto cleanup;
|
||||||
}
|
}
|
||||||
@ -119,7 +119,7 @@ static int virStorageBackendRBDOpenRADOSConn(virStorageBackendRBDStatePtr *ptr,
|
|||||||
} else {
|
} else {
|
||||||
VIR_DEBUG("Not using cephx authorization");
|
VIR_DEBUG("Not using cephx authorization");
|
||||||
if (rados_create(&ptr->cluster, NULL) < 0) {
|
if (rados_create(&ptr->cluster, NULL) < 0) {
|
||||||
virReportError(VIR_ERR_INTERNAL_ERROR,
|
virReportError(VIR_ERR_INTERNAL_ERROR, "%s",
|
||||||
_("failed to create the RADOS cluster"));
|
_("failed to create the RADOS cluster"));
|
||||||
goto cleanup;
|
goto cleanup;
|
||||||
}
|
}
|
||||||
|
@ -1715,13 +1715,13 @@ storageVolumeResize(virStorageVolPtr obj,
|
|||||||
storageDriverUnlock(driver);
|
storageDriverUnlock(driver);
|
||||||
|
|
||||||
if (!pool) {
|
if (!pool) {
|
||||||
virReportError(VIR_ERR_NO_STORAGE_POOL,
|
virReportError(VIR_ERR_NO_STORAGE_POOL, "%s",
|
||||||
_("no storage pool with matching uuid"));
|
_("no storage pool with matching uuid"));
|
||||||
goto out;
|
goto out;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!virStoragePoolObjIsActive(pool)) {
|
if (!virStoragePoolObjIsActive(pool)) {
|
||||||
virReportError(VIR_ERR_OPERATION_INVALID,
|
virReportError(VIR_ERR_OPERATION_INVALID, "%s",
|
||||||
_("storage pool is not active"));
|
_("storage pool is not active"));
|
||||||
goto out;
|
goto out;
|
||||||
}
|
}
|
||||||
@ -1753,20 +1753,20 @@ storageVolumeResize(virStorageVolPtr obj,
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (abs_capacity < vol->allocation) {
|
if (abs_capacity < vol->allocation) {
|
||||||
virReportError(VIR_ERR_INVALID_ARG,
|
virReportError(VIR_ERR_INVALID_ARG, "%s",
|
||||||
_("can't shrink capacity below "
|
_("can't shrink capacity below "
|
||||||
"existing allocation"));
|
"existing allocation"));
|
||||||
goto out;
|
goto out;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (abs_capacity > vol->capacity + pool->def->available) {
|
if (abs_capacity > vol->capacity + pool->def->available) {
|
||||||
virReportError(VIR_ERR_OPERATION_FAILED,
|
virReportError(VIR_ERR_OPERATION_FAILED, "%s",
|
||||||
_("Not enough space left on storage pool"));
|
_("Not enough space left on storage pool"));
|
||||||
goto out;
|
goto out;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!backend->resizeVol) {
|
if (!backend->resizeVol) {
|
||||||
virReportError(VIR_ERR_NO_SUPPORT,
|
virReportError(VIR_ERR_NO_SUPPORT, "%s",
|
||||||
_("storage pool does not support changing of "
|
_("storage pool does not support changing of "
|
||||||
"volume capacity"));
|
"volume capacity"));
|
||||||
goto out;
|
goto out;
|
||||||
|
@ -3534,7 +3534,7 @@ static int testInterfaceChangeBegin(virConnectPtr conn,
|
|||||||
|
|
||||||
testDriverLock(privconn);
|
testDriverLock(privconn);
|
||||||
if (privconn->transaction_running) {
|
if (privconn->transaction_running) {
|
||||||
virReportError(VIR_ERR_OPERATION_INVALID,
|
virReportError(VIR_ERR_OPERATION_INVALID, "%s",
|
||||||
_("there is another transaction running."));
|
_("there is another transaction running."));
|
||||||
goto cleanup;
|
goto cleanup;
|
||||||
}
|
}
|
||||||
@ -3562,7 +3562,7 @@ static int testInterfaceChangeCommit(virConnectPtr conn,
|
|||||||
testDriverLock(privconn);
|
testDriverLock(privconn);
|
||||||
|
|
||||||
if (!privconn->transaction_running) {
|
if (!privconn->transaction_running) {
|
||||||
virReportError(VIR_ERR_OPERATION_INVALID,
|
virReportError(VIR_ERR_OPERATION_INVALID, "%s",
|
||||||
_("no transaction running, "
|
_("no transaction running, "
|
||||||
"nothing to be committed."));
|
"nothing to be committed."));
|
||||||
goto cleanup;
|
goto cleanup;
|
||||||
@ -3590,7 +3590,7 @@ static int testInterfaceChangeRollback(virConnectPtr conn,
|
|||||||
testDriverLock(privconn);
|
testDriverLock(privconn);
|
||||||
|
|
||||||
if (!privconn->transaction_running) {
|
if (!privconn->transaction_running) {
|
||||||
virReportError(VIR_ERR_OPERATION_INVALID,
|
virReportError(VIR_ERR_OPERATION_INVALID, "%s",
|
||||||
_("no transaction running, "
|
_("no transaction running, "
|
||||||
"nothing to rollback."));
|
"nothing to rollback."));
|
||||||
goto cleanup;
|
goto cleanup;
|
||||||
|
@ -9311,7 +9311,7 @@ vboxListAllDomains(virConnectPtr conn,
|
|||||||
if (MATCH(VIR_CONNECT_LIST_FILTERS_SNAPSHOT)) {
|
if (MATCH(VIR_CONNECT_LIST_FILTERS_SNAPSHOT)) {
|
||||||
rc = machine->vtbl->GetSnapshotCount(machine, &snapshotCount);
|
rc = machine->vtbl->GetSnapshotCount(machine, &snapshotCount);
|
||||||
if (NS_FAILED(rc)) {
|
if (NS_FAILED(rc)) {
|
||||||
virReportError(VIR_ERR_INTERNAL_ERROR,
|
virReportError(VIR_ERR_INTERNAL_ERROR, "%s",
|
||||||
_("could not get snapshot count for listed domains"));
|
_("could not get snapshot count for listed domains"));
|
||||||
goto cleanup;
|
goto cleanup;
|
||||||
}
|
}
|
||||||
|
@ -1870,7 +1870,7 @@ xenFormatSxprDisk(virDomainDiskDefPtr def,
|
|||||||
else
|
else
|
||||||
virBufferAddLit(buf, "(mode 'w')");
|
virBufferAddLit(buf, "(mode 'w')");
|
||||||
if (def->transient) {
|
if (def->transient) {
|
||||||
virReportError(VIR_ERR_CONFIG_UNSUPPORTED,
|
virReportError(VIR_ERR_CONFIG_UNSUPPORTED, "%s",
|
||||||
_("transient disks not supported yet"));
|
_("transient disks not supported yet"));
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
@ -2515,7 +2515,7 @@ xenFormatSxpr(virConnectPtr conn,
|
|||||||
break;
|
break;
|
||||||
case VIR_DOMAIN_CLOCK_OFFSET_UTC:
|
case VIR_DOMAIN_CLOCK_OFFSET_UTC:
|
||||||
if (def->clock.data.utc_reset) {
|
if (def->clock.data.utc_reset) {
|
||||||
virReportError(VIR_ERR_CONFIG_UNSUPPORTED,
|
virReportError(VIR_ERR_CONFIG_UNSUPPORTED, "%s",
|
||||||
_("unsupported clock adjustment='reset'"));
|
_("unsupported clock adjustment='reset'"));
|
||||||
goto error;
|
goto error;
|
||||||
}
|
}
|
||||||
@ -2524,7 +2524,7 @@ xenFormatSxpr(virConnectPtr conn,
|
|||||||
break;
|
break;
|
||||||
case VIR_DOMAIN_CLOCK_OFFSET_LOCALTIME:
|
case VIR_DOMAIN_CLOCK_OFFSET_LOCALTIME:
|
||||||
if (def->clock.data.utc_reset) {
|
if (def->clock.data.utc_reset) {
|
||||||
virReportError(VIR_ERR_CONFIG_UNSUPPORTED,
|
virReportError(VIR_ERR_CONFIG_UNSUPPORTED, "%s",
|
||||||
_("unsupported clock adjustment='reset'"));
|
_("unsupported clock adjustment='reset'"));
|
||||||
goto error;
|
goto error;
|
||||||
}
|
}
|
||||||
|
@ -208,7 +208,7 @@ static int xenXMConfigGetUUID(virConfPtr conf, const char *name, unsigned char *
|
|||||||
virConfValuePtr val;
|
virConfValuePtr val;
|
||||||
|
|
||||||
if (!uuid || !name || !conf) {
|
if (!uuid || !name || !conf) {
|
||||||
virReportError(VIR_ERR_INVALID_ARG,
|
virReportError(VIR_ERR_INVALID_ARG, "%s",
|
||||||
_("Arguments must be non null"));
|
_("Arguments must be non null"));
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
@ -1242,7 +1242,7 @@ static int xenFormatXMDisk(virConfValuePtr list,
|
|||||||
else
|
else
|
||||||
virBufferAddLit(&buf, ",w");
|
virBufferAddLit(&buf, ",w");
|
||||||
if (disk->transient) {
|
if (disk->transient) {
|
||||||
virReportError(VIR_ERR_CONFIG_UNSUPPORTED,
|
virReportError(VIR_ERR_CONFIG_UNSUPPORTED, "%s",
|
||||||
_("transient disks not supported yet"));
|
_("transient disks not supported yet"));
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
@ -1686,7 +1686,7 @@ virConfPtr xenFormatXM(virConnectPtr conn,
|
|||||||
break;
|
break;
|
||||||
case VIR_DOMAIN_CLOCK_OFFSET_UTC:
|
case VIR_DOMAIN_CLOCK_OFFSET_UTC:
|
||||||
if (def->clock.data.utc_reset) {
|
if (def->clock.data.utc_reset) {
|
||||||
virReportError(VIR_ERR_CONFIG_UNSUPPORTED,
|
virReportError(VIR_ERR_CONFIG_UNSUPPORTED, "%s",
|
||||||
_("unsupported clock adjustment='reset'"));
|
_("unsupported clock adjustment='reset'"));
|
||||||
goto cleanup;
|
goto cleanup;
|
||||||
}
|
}
|
||||||
@ -1695,7 +1695,7 @@ virConfPtr xenFormatXM(virConnectPtr conn,
|
|||||||
break;
|
break;
|
||||||
case VIR_DOMAIN_CLOCK_OFFSET_LOCALTIME:
|
case VIR_DOMAIN_CLOCK_OFFSET_LOCALTIME:
|
||||||
if (def->clock.data.utc_reset) {
|
if (def->clock.data.utc_reset) {
|
||||||
virReportError(VIR_ERR_CONFIG_UNSUPPORTED,
|
virReportError(VIR_ERR_CONFIG_UNSUPPORTED, "%s",
|
||||||
_("unsupported clock adjustment='reset'"));
|
_("unsupported clock adjustment='reset'"));
|
||||||
goto cleanup;
|
goto cleanup;
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user