Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
openeuler
libvirt
提交
a3884f87
L
libvirt
项目概览
openeuler
/
libvirt
通知
3
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
L
libvirt
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
a3884f87
编写于
4月 03, 2010
作者:
M
Matthias Bolte
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
vbox: Remove virConnectPtr from vboxError
上级
1c91a0b4
变更
2
隐藏空白更改
内联
并排
Showing
2 changed file
with
146 addition
and
149 deletion
+146
-149
src/vbox/vbox_driver.c
src/vbox/vbox_driver.c
+6
-6
src/vbox/vbox_tmpl.c
src/vbox/vbox_tmpl.c
+140
-143
未找到文件。
src/vbox/vbox_driver.c
浏览文件 @
a3884f87
...
...
@@ -58,8 +58,8 @@ static virDriver vboxDriverDummy;
#define VIR_FROM_THIS VIR_FROM_VBOX
#define vboxError(co
nn, co
de, ...) \
virReportErrorHelper(
conn
, VIR_FROM_VBOX, code, __FILE__, \
#define vboxError(code, ...) \
virReportErrorHelper(
NULL
, VIR_FROM_VBOX, code, __FILE__, \
__FUNCTION__, __LINE__, __VA_ARGS__)
int
vboxRegister
(
void
)
{
...
...
@@ -136,27 +136,27 @@ static virDrvOpenStatus vboxOpenDummy(virConnectPtr conn,
return
VIR_DRV_OPEN_DECLINED
;
if
(
conn
->
uri
->
path
==
NULL
||
STREQ
(
conn
->
uri
->
path
,
""
))
{
vboxError
(
conn
,
VIR_ERR_INTERNAL_ERROR
,
"%s"
,
vboxError
(
VIR_ERR_INTERNAL_ERROR
,
"%s"
,
_
(
"no VirtualBox driver path specified (try vbox:///session)"
));
return
VIR_DRV_OPEN_ERROR
;
}
if
(
uid
!=
0
)
{
if
(
STRNEQ
(
conn
->
uri
->
path
,
"/session"
))
{
vboxError
(
conn
,
VIR_ERR_INTERNAL_ERROR
,
vboxError
(
VIR_ERR_INTERNAL_ERROR
,
_
(
"unknown driver path '%s' specified (try vbox:///session)"
),
conn
->
uri
->
path
);
return
VIR_DRV_OPEN_ERROR
;
}
}
else
{
/* root */
if
(
STRNEQ
(
conn
->
uri
->
path
,
"/system"
)
&&
STRNEQ
(
conn
->
uri
->
path
,
"/session"
))
{
vboxError
(
conn
,
VIR_ERR_INTERNAL_ERROR
,
vboxError
(
VIR_ERR_INTERNAL_ERROR
,
_
(
"unknown driver path '%s' specified (try vbox:///system)"
),
conn
->
uri
->
path
);
return
VIR_DRV_OPEN_ERROR
;
}
}
vboxError
(
conn
,
VIR_ERR_INTERNAL_ERROR
,
"%s"
,
vboxError
(
VIR_ERR_INTERNAL_ERROR
,
"%s"
,
_
(
"unable to initialize VirtualBox driver API"
));
return
VIR_DRV_OPEN_ERROR
;
}
...
...
src/vbox/vbox_tmpl.c
浏览文件 @
a3884f87
...
...
@@ -124,8 +124,8 @@ typedef IMediumAttachment IHardDiskAttachment;
#endif
/* VBOX_API_VERSION >= 3001 */
#define vboxError(co
nn, co
de, ...) \
virReportErrorHelper(
conn
, VIR_FROM_VBOX, code, __FILE__, \
#define vboxError(code, ...) \
virReportErrorHelper(
NULL
, VIR_FROM_VBOX, code, __FILE__, \
__FUNCTION__, __LINE__, __VA_ARGS__)
#define DEBUGPRUnichar(msg, strUtf16) \
...
...
@@ -664,7 +664,7 @@ no_memory:
return
NULL
;
}
static
int
vboxInitialize
(
v
irConnectPtr
conn
,
v
boxGlobalData
*
data
)
{
static
int
vboxInitialize
(
vboxGlobalData
*
data
)
{
/* Get the API table for out version, g_pVBoxFuncs is for the oldest
version of the API that we support so we cannot use that. */
...
...
@@ -691,7 +691,7 @@ static int vboxInitialize(virConnectPtr conn, vboxGlobalData *data) {
data
->
pFuncs
->
pfnGetEventQueue
(
&
data
->
vboxQueue
);
if
(
data
->
vboxQueue
==
NULL
)
{
vboxError
(
conn
,
VIR_ERR_INTERNAL_ERROR
,
"nsIEventQueue object is null"
);
vboxError
(
VIR_ERR_INTERNAL_ERROR
,
"nsIEventQueue object is null"
);
goto
cleanup
;
}
...
...
@@ -699,12 +699,12 @@ static int vboxInitialize(virConnectPtr conn, vboxGlobalData *data) {
#endif
/* !(VBOX_XPCOMC_VERSION == 0x00010000U) */
if
(
data
->
vboxObj
==
NULL
)
{
vboxError
(
conn
,
VIR_ERR_INTERNAL_ERROR
,
"IVirtualBox object is null"
);
vboxError
(
VIR_ERR_INTERNAL_ERROR
,
"IVirtualBox object is null"
);
goto
cleanup
;
}
if
(
data
->
vboxSession
==
NULL
)
{
vboxError
(
conn
,
VIR_ERR_INTERNAL_ERROR
,
"ISession object is null"
);
vboxError
(
VIR_ERR_INTERNAL_ERROR
,
"ISession object is null"
);
goto
cleanup
;
}
...
...
@@ -714,7 +714,7 @@ cleanup:
return
-
1
;
}
static
int
vboxExtractVersion
(
v
irConnectPtr
conn
,
v
boxGlobalData
*
data
)
{
static
int
vboxExtractVersion
(
vboxGlobalData
*
data
)
{
int
ret
=
-
1
;
PRUnichar
*
versionUtf16
=
NULL
;
nsresult
rc
;
...
...
@@ -736,7 +736,7 @@ static int vboxExtractVersion(virConnectPtr conn, vboxGlobalData *data) {
}
if
(
ret
!=
0
)
vboxError
(
conn
,
VIR_ERR_INTERNAL_ERROR
,
"%s"
,
vboxError
(
VIR_ERR_INTERNAL_ERROR
,
"%s"
,
"Cound not extract VirtualBox version"
);
return
ret
;
...
...
@@ -781,21 +781,21 @@ static virDrvOpenStatus vboxOpen(virConnectPtr conn,
return
VIR_DRV_OPEN_DECLINED
;
if
(
conn
->
uri
->
path
==
NULL
||
STREQ
(
conn
->
uri
->
path
,
""
))
{
vboxError
(
conn
,
VIR_ERR_INTERNAL_ERROR
,
"%s"
,
vboxError
(
VIR_ERR_INTERNAL_ERROR
,
"%s"
,
_
(
"no VirtualBox driver path specified (try vbox:///session)"
));
return
VIR_DRV_OPEN_ERROR
;
}
if
(
uid
!=
0
)
{
if
(
STRNEQ
(
conn
->
uri
->
path
,
"/session"
))
{
vboxError
(
conn
,
VIR_ERR_INTERNAL_ERROR
,
vboxError
(
VIR_ERR_INTERNAL_ERROR
,
_
(
"unknown driver path '%s' specified (try vbox:///session)"
),
conn
->
uri
->
path
);
return
VIR_DRV_OPEN_ERROR
;
}
}
else
{
/* root */
if
(
STRNEQ
(
conn
->
uri
->
path
,
"/system"
)
&&
STRNEQ
(
conn
->
uri
->
path
,
"/session"
))
{
vboxError
(
conn
,
VIR_ERR_INTERNAL_ERROR
,
vboxError
(
VIR_ERR_INTERNAL_ERROR
,
_
(
"unknown driver path '%s' specified (try vbox:///system)"
),
conn
->
uri
->
path
);
return
VIR_DRV_OPEN_ERROR
;
}
...
...
@@ -807,8 +807,8 @@ static virDrvOpenStatus vboxOpen(virConnectPtr conn,
}
if
(
!
(
data
->
caps
=
vboxCapsInit
())
||
vboxInitialize
(
conn
,
data
)
<
0
||
vboxExtractVersion
(
conn
,
data
)
<
0
)
{
vboxInitialize
(
data
)
<
0
||
vboxExtractVersion
(
data
)
<
0
)
{
vboxUninitialize
(
data
);
return
VIR_DRV_OPEN_ERROR
;
}
...
...
@@ -908,7 +908,7 @@ static int vboxListDomains(virConnectPtr conn, int *ids, int nids) {
rc
=
data
->
vboxObj
->
vtbl
->
GetMachines
(
data
->
vboxObj
,
&
machineCnt
,
&
machines
);
if
(
NS_FAILED
(
rc
))
{
vboxError
(
conn
,
VIR_ERR_INTERNAL_ERROR
,
"%s, rc=%08x"
,
vboxError
(
VIR_ERR_INTERNAL_ERROR
,
"%s, rc=%08x"
,
"Could not get list of Domains"
,(
unsigned
)
rc
);
goto
cleanup
;
}
...
...
@@ -952,7 +952,7 @@ static int vboxNumOfDomains(virConnectPtr conn) {
rc
=
data
->
vboxObj
->
vtbl
->
GetMachines
(
data
->
vboxObj
,
&
machineCnt
,
&
machines
);
if
(
NS_FAILED
(
rc
))
{
vboxError
(
conn
,
VIR_ERR_INTERNAL_ERROR
,
"%s, rc=%08x"
,
vboxError
(
VIR_ERR_INTERNAL_ERROR
,
"%s, rc=%08x"
,
"Could not get number of Domains"
,(
unsigned
)
rc
);
goto
cleanup
;
}
...
...
@@ -1021,7 +1021,7 @@ static virDomainPtr vboxDomainLookupByID(virConnectPtr conn, int id) {
/* Internal vbox IDs start from 0, the public libvirt ID
* starts from 1, so refuse id==0, and adjust the rest*/
if
(
id
==
0
)
{
vboxError
(
conn
,
VIR_ERR_NO_DOMAIN
,
vboxError
(
VIR_ERR_NO_DOMAIN
,
_
(
"no domain with matching id %d"
),
id
);
return
NULL
;
}
...
...
@@ -1029,7 +1029,7 @@ static virDomainPtr vboxDomainLookupByID(virConnectPtr conn, int id) {
rc
=
data
->
vboxObj
->
vtbl
->
GetMachines
(
data
->
vboxObj
,
&
machineCnt
,
&
machines
);
if
(
NS_FAILED
(
rc
))
{
vboxError
(
conn
,
VIR_ERR_INTERNAL_ERROR
,
"%s, rc=%08x"
,
vboxError
(
VIR_ERR_INTERNAL_ERROR
,
"%s, rc=%08x"
,
"Could not get list of machines"
,(
unsigned
)
rc
);
return
NULL
;
}
...
...
@@ -1090,7 +1090,7 @@ static virDomainPtr vboxDomainLookupByUUID(virConnectPtr conn, const unsigned ch
rc
=
data
->
vboxObj
->
vtbl
->
GetMachines
(
data
->
vboxObj
,
&
machineCnt
,
&
machines
);
if
(
NS_FAILED
(
rc
))
{
vboxError
(
conn
,
VIR_ERR_INTERNAL_ERROR
,
"%s, rc=%08x"
,
vboxError
(
VIR_ERR_INTERNAL_ERROR
,
"%s, rc=%08x"
,
"Could not get list of machines"
,(
unsigned
)
rc
);
return
NULL
;
}
...
...
@@ -1162,7 +1162,7 @@ static virDomainPtr vboxDomainLookupByName(virConnectPtr conn, const char *name)
rc
=
data
->
vboxObj
->
vtbl
->
GetMachines
(
data
->
vboxObj
,
&
machineCnt
,
&
machines
);
if
(
NS_FAILED
(
rc
))
{
vboxError
(
conn
,
VIR_ERR_INTERNAL_ERROR
,
"%s, rc=%08x"
,
vboxError
(
VIR_ERR_INTERNAL_ERROR
,
"%s, rc=%08x"
,
"Could not get list of machines"
,(
unsigned
)
rc
);
return
NULL
;
}
...
...
@@ -1239,7 +1239,7 @@ static int vboxDomainIsActive(virDomainPtr dom) {
rc
=
data
->
vboxObj
->
vtbl
->
GetMachines
(
data
->
vboxObj
,
&
machineCnt
,
&
machines
);
if
(
NS_FAILED
(
rc
))
{
vboxError
(
dom
->
conn
,
VIR_ERR_INTERNAL_ERROR
,
"%s, rc=%08x"
,
vboxError
(
VIR_ERR_INTERNAL_ERROR
,
"%s, rc=%08x"
,
"Could not get list of machines"
,(
unsigned
)
rc
);
return
ret
;
}
...
...
@@ -1318,7 +1318,7 @@ static int vboxDomainSuspend(virDomainPtr dom) {
vboxIIDFromUUID
(
dom
->
uuid
,
iid
);
rc
=
data
->
vboxObj
->
vtbl
->
GetMachine
(
data
->
vboxObj
,
iid
,
&
machine
);
if
(
NS_FAILED
(
rc
))
{
vboxError
(
dom
->
conn
,
VIR_ERR_INVALID_DOMAIN
,
vboxError
(
VIR_ERR_INVALID_DOMAIN
,
"no domain with matching id %d"
,
dom
->
id
);
goto
cleanup
;
}
...
...
@@ -1339,13 +1339,13 @@ static int vboxDomainSuspend(virDomainPtr dom) {
VBOX_RELEASE
(
console
);
ret
=
0
;
}
else
{
vboxError
(
dom
->
conn
,
VIR_ERR_OPERATION_FAILED
,
vboxError
(
VIR_ERR_OPERATION_FAILED
,
"%s"
,
"error while suspend the domain"
);
goto
cleanup
;
}
data
->
vboxSession
->
vtbl
->
Close
(
data
->
vboxSession
);
}
else
{
vboxError
(
dom
->
conn
,
VIR_ERR_OPERATION_FAILED
,
vboxError
(
VIR_ERR_OPERATION_FAILED
,
"%s"
,
"machine not in running state to suspend it"
);
goto
cleanup
;
}
...
...
@@ -1377,7 +1377,7 @@ static int vboxDomainResume(virDomainPtr dom) {
vboxIIDFromUUID
(
dom
->
uuid
,
iid
);
rc
=
data
->
vboxObj
->
vtbl
->
GetMachine
(
data
->
vboxObj
,
iid
,
&
machine
);
if
(
NS_FAILED
(
rc
))
{
vboxError
(
dom
->
conn
,
VIR_ERR_INVALID_DOMAIN
,
vboxError
(
VIR_ERR_INVALID_DOMAIN
,
"no domain with matching id %d"
,
dom
->
id
);
goto
cleanup
;
}
...
...
@@ -1398,13 +1398,13 @@ static int vboxDomainResume(virDomainPtr dom) {
VBOX_RELEASE
(
console
);
ret
=
0
;
}
else
{
vboxError
(
dom
->
conn
,
VIR_ERR_OPERATION_FAILED
,
vboxError
(
VIR_ERR_OPERATION_FAILED
,
"%s"
,
"error while resuming the domain"
);
goto
cleanup
;
}
data
->
vboxSession
->
vtbl
->
Close
(
data
->
vboxSession
);
}
else
{
vboxError
(
dom
->
conn
,
VIR_ERR_OPERATION_FAILED
,
vboxError
(
VIR_ERR_OPERATION_FAILED
,
"%s"
,
"machine not paused, so can't resume it"
);
goto
cleanup
;
}
...
...
@@ -1435,7 +1435,7 @@ static int vboxDomainShutdown(virDomainPtr dom) {
vboxIIDFromUUID
(
dom
->
uuid
,
iid
);
rc
=
data
->
vboxObj
->
vtbl
->
GetMachine
(
data
->
vboxObj
,
iid
,
&
machine
);
if
(
NS_FAILED
(
rc
))
{
vboxError
(
dom
->
conn
,
VIR_ERR_INVALID_DOMAIN
,
vboxError
(
VIR_ERR_INVALID_DOMAIN
,
"no domain with matching id %d"
,
dom
->
id
);
goto
cleanup
;
}
...
...
@@ -1448,11 +1448,11 @@ static int vboxDomainShutdown(virDomainPtr dom) {
machine
->
vtbl
->
GetState
(
machine
,
&
state
);
if
(
state
==
MachineState_Paused
)
{
vboxError
(
dom
->
conn
,
VIR_ERR_OPERATION_FAILED
,
vboxError
(
VIR_ERR_OPERATION_FAILED
,
"%s"
,
"machine paused, so can't power it down"
);
goto
cleanup
;
}
else
if
(
state
==
MachineState_PoweredOff
)
{
vboxError
(
dom
->
conn
,
VIR_ERR_OPERATION_FAILED
,
vboxError
(
VIR_ERR_OPERATION_FAILED
,
"%s"
,
"machine already powered down"
);
goto
cleanup
;
}
...
...
@@ -1492,7 +1492,7 @@ static int vboxDomainReboot(virDomainPtr dom, unsigned int flags ATTRIBUTE_UNUSE
vboxIIDFromUUID
(
dom
->
uuid
,
iid
);
rc
=
data
->
vboxObj
->
vtbl
->
GetMachine
(
data
->
vboxObj
,
iid
,
&
machine
);
if
(
NS_FAILED
(
rc
))
{
vboxError
(
dom
->
conn
,
VIR_ERR_INVALID_DOMAIN
,
vboxError
(
VIR_ERR_INVALID_DOMAIN
,
"no domain with matching id %d"
,
dom
->
id
);
goto
cleanup
;
}
...
...
@@ -1514,7 +1514,7 @@ static int vboxDomainReboot(virDomainPtr dom, unsigned int flags ATTRIBUTE_UNUSE
}
data
->
vboxSession
->
vtbl
->
Close
(
data
->
vboxSession
);
}
else
{
vboxError
(
dom
->
conn
,
VIR_ERR_OPERATION_FAILED
,
vboxError
(
VIR_ERR_OPERATION_FAILED
,
"%s"
,
"machine not running, so can't reboot it"
);
goto
cleanup
;
}
...
...
@@ -1545,7 +1545,7 @@ static int vboxDomainDestroy(virDomainPtr dom) {
vboxIIDFromUUID
(
dom
->
uuid
,
iid
);
rc
=
data
->
vboxObj
->
vtbl
->
GetMachine
(
data
->
vboxObj
,
iid
,
&
machine
);
if
(
NS_FAILED
(
rc
))
{
vboxError
(
dom
->
conn
,
VIR_ERR_INVALID_DOMAIN
,
vboxError
(
VIR_ERR_INVALID_DOMAIN
,
"no domain with matching id %d"
,
dom
->
id
);
goto
cleanup
;
}
...
...
@@ -1558,7 +1558,7 @@ static int vboxDomainDestroy(virDomainPtr dom) {
machine
->
vtbl
->
GetState
(
machine
,
&
state
);
if
(
state
==
MachineState_PoweredOff
)
{
vboxError
(
dom
->
conn
,
VIR_ERR_OPERATION_FAILED
,
vboxError
(
VIR_ERR_OPERATION_FAILED
,
"%s"
,
"machine already powered down"
);
goto
cleanup
;
}
...
...
@@ -1621,7 +1621,7 @@ static int vboxDomainSetMemory(virDomainPtr dom, unsigned long memory) {
vboxIIDFromUUID
(
dom
->
uuid
,
iid
);
rc
=
data
->
vboxObj
->
vtbl
->
GetMachine
(
data
->
vboxObj
,
iid
,
&
machine
);
if
(
NS_FAILED
(
rc
))
{
vboxError
(
dom
->
conn
,
VIR_ERR_INVALID_DOMAIN
,
vboxError
(
VIR_ERR_INVALID_DOMAIN
,
"no domain with matching id %d"
,
dom
->
id
);
goto
cleanup
;
}
...
...
@@ -1634,7 +1634,7 @@ static int vboxDomainSetMemory(virDomainPtr dom, unsigned long memory) {
machine
->
vtbl
->
GetState
(
machine
,
&
state
);
if
(
state
!=
MachineState_PoweredOff
)
{
vboxError
(
dom
->
conn
,
VIR_ERR_OPERATION_FAILED
,
vboxError
(
VIR_ERR_OPERATION_FAILED
,
"%s"
,
"memory size can't be changed unless domain is powered down"
);
goto
cleanup
;
}
...
...
@@ -1649,7 +1649,7 @@ static int vboxDomainSetMemory(virDomainPtr dom, unsigned long memory) {
machine
->
vtbl
->
SaveSettings
(
machine
);
ret
=
0
;
}
else
{
vboxError
(
dom
->
conn
,
VIR_ERR_INTERNAL_ERROR
,
"%s:%lu Kb, rc=%08x"
,
vboxError
(
VIR_ERR_INTERNAL_ERROR
,
"%s:%lu Kb, rc=%08x"
,
"could not set the memory size of the domain to"
,
memory
,
(
unsigned
)
rc
);
}
...
...
@@ -1675,8 +1675,8 @@ static int vboxDomainGetInfo(virDomainPtr dom, virDomainInfoPtr info) {
rc
=
data
->
vboxObj
->
vtbl
->
GetMachines
(
data
->
vboxObj
,
&
machineCnt
,
&
machines
);
if
(
NS_FAILED
(
rc
))
{
vboxError
(
NULL
,
VIR_ERR_INTERNAL_ERROR
,
"%s, rc=%08x"
,
"Could not get list of machines"
,(
unsigned
)
rc
);
vboxError
(
VIR_ERR_INTERNAL_ERROR
,
"%s, rc=%08x"
,
"Could not get list of machines"
,
(
unsigned
)
rc
);
goto
cleanup
;
}
...
...
@@ -1853,17 +1853,17 @@ static int vboxDomainSetVcpus(virDomainPtr dom, unsigned int nvcpus) {
machine
->
vtbl
->
SaveSettings
(
machine
);
ret
=
0
;
}
else
{
vboxError
(
dom
->
conn
,
VIR_ERR_INTERNAL_ERROR
,
"%s: %u, rc=%08x"
,
vboxError
(
VIR_ERR_INTERNAL_ERROR
,
"%s: %u, rc=%08x"
,
"could not set the number of cpus of the domain to"
,
CPUCount
,
(
unsigned
)
rc
);
}
VBOX_RELEASE
(
machine
);
}
else
{
vboxError
(
dom
->
conn
,
VIR_ERR_INVALID_DOMAIN
,
vboxError
(
VIR_ERR_INVALID_DOMAIN
,
"no domain with matching id %d"
,
dom
->
id
);
}
}
else
{
vboxError
(
dom
->
conn
,
VIR_ERR_INVALID_DOMAIN
,
vboxError
(
VIR_ERR_INVALID_DOMAIN
,
"can't open session to the domain with id %d"
,
dom
->
id
);
}
data
->
vboxSession
->
vtbl
->
Close
(
data
->
vboxSession
);
...
...
@@ -2461,7 +2461,7 @@ static char *vboxDomainDumpXML(virDomainPtr dom, int flags) {
maxPortPerInst
,
maxSlotPerPort
);
if
(
!
def
->
disks
[
diskCount
]
->
dst
)
{
vboxError
(
dom
->
conn
,
VIR_ERR_INTERNAL_ERROR
,
vboxError
(
VIR_ERR_INTERNAL_ERROR
,
"%s: controller instance:%u, port:%d, slot:%d"
,
"Could not generate medium name for the disk at"
,
deviceInst
,
devicePort
,
deviceSlot
);
...
...
@@ -3036,7 +3036,7 @@ static int vboxListDefinedDomains(virConnectPtr conn, char ** const names, int m
rc
=
data
->
vboxObj
->
vtbl
->
GetMachines
(
data
->
vboxObj
,
&
machineCnt
,
&
machines
);
if
(
NS_FAILED
(
rc
))
{
vboxError
(
conn
,
VIR_ERR_INTERNAL_ERROR
,
"%s, rc=%08x"
,
vboxError
(
VIR_ERR_INTERNAL_ERROR
,
"%s, rc=%08x"
,
"Could not get list of Defined Domains"
,(
unsigned
)
rc
);
goto
cleanup
;
}
...
...
@@ -3090,7 +3090,7 @@ static int vboxNumOfDefinedDomains(virConnectPtr conn) {
rc
=
data
->
vboxObj
->
vtbl
->
GetMachines
(
data
->
vboxObj
,
&
machineCnt
,
&
machines
);
if
(
NS_FAILED
(
rc
))
{
vboxError
(
conn
,
VIR_ERR_INTERNAL_ERROR
,
"%s, rc=%08x"
,
vboxError
(
VIR_ERR_INTERNAL_ERROR
,
"%s, rc=%08x"
,
"Could not get number of Defined Domains"
,(
unsigned
)
rc
);
goto
cleanup
;
}
...
...
@@ -3137,14 +3137,14 @@ static int vboxDomainCreate(virDomainPtr dom) {
int
i
=
0
;
if
(
!
dom
->
name
)
{
vboxError
(
dom
->
conn
,
VIR_ERR_INTERNAL_ERROR
,
"%s"
,
vboxError
(
VIR_ERR_INTERNAL_ERROR
,
"%s"
,
"Error while reading the domain name"
);
goto
cleanup
;
}
rc
=
data
->
vboxObj
->
vtbl
->
GetMachines
(
data
->
vboxObj
,
&
machineCnt
,
&
machines
);
if
(
NS_FAILED
(
rc
))
{
vboxError
(
dom
->
conn
,
VIR_ERR_INTERNAL_ERROR
,
"%s, rc=%08x"
,
vboxError
(
VIR_ERR_INTERNAL_ERROR
,
"%s, rc=%08x"
,
"Could not get list of machines"
,(
unsigned
)
rc
);
goto
cleanup
;
}
...
...
@@ -3213,7 +3213,7 @@ static int vboxDomainCreate(virDomainPtr dom) {
if
(
valueDisplayUtf8
)
{
sdlDisplay
=
strdup
(
valueDisplayUtf8
);
if
(
sdlDisplay
==
NULL
)
{
v
boxError
(
dom
->
conn
,
VIR_ERR_SYSTEM_ERROR
,
"%s"
,
"strdup failed"
);
v
irReportOOMError
(
);
/* just don't go to cleanup yet as it is ok to have
* sdlDisplay as NULL and we check it below if it
* exist and then only use it there
...
...
@@ -3227,7 +3227,7 @@ static int vboxDomainCreate(virDomainPtr dom) {
if
(
valueDisplayUtf8
)
{
guiDisplay
=
strdup
(
valueDisplayUtf8
);
if
(
guiDisplay
==
NULL
)
{
v
boxError
(
dom
->
conn
,
VIR_ERR_SYSTEM_ERROR
,
"%s"
,
"strdup failed"
);
v
irReportOOMError
(
);
/* just don't go to cleanup yet as it is ok to have
* guiDisplay as NULL and we check it below if it
* exist and then only use it there
...
...
@@ -3287,7 +3287,7 @@ static int vboxDomainCreate(virDomainPtr dom) {
env
,
&
progress
);
if
(
NS_FAILED
(
rc
))
{
vboxError
(
dom
->
conn
,
VIR_ERR_OPERATION_FAILED
,
vboxError
(
VIR_ERR_OPERATION_FAILED
,
"%s"
,
"openremotesession failed, domain can't be started"
);
ret
=
-
1
;
}
else
{
...
...
@@ -3319,7 +3319,7 @@ static int vboxDomainCreate(virDomainPtr dom) {
data
->
vboxSession
->
vtbl
->
Close
(
data
->
vboxSession
);
}
else
{
vboxError
(
dom
->
conn
,
VIR_ERR_OPERATION_FAILED
,
vboxError
(
VIR_ERR_OPERATION_FAILED
,
"%s"
,
"machine is not in poweroff|saved|"
"aborted state, so couldn't start it"
);
ret
=
-
1
;
...
...
@@ -3375,21 +3375,21 @@ static virDomainPtr vboxDomainDefineXML(virConnectPtr conn, const char *xml) {
VBOX_UTF16_FREE
(
machineNameUtf16
);
if
(
NS_FAILED
(
rc
))
{
vboxError
(
conn
,
VIR_ERR_INTERNAL_ERROR
,
"%s, rc=%08x"
,
"could not define a domain"
,(
unsigned
)
rc
);
vboxError
(
VIR_ERR_INTERNAL_ERROR
,
"%s, rc=%08x"
,
"could not define a domain"
,
(
unsigned
)
rc
);
goto
cleanup
;
}
rc
=
machine
->
vtbl
->
SetMemorySize
(
machine
,
def
->
memory
/
1024
);
if
(
NS_FAILED
(
rc
))
{
vboxError
(
conn
,
VIR_ERR_INTERNAL_ERROR
,
"%s:%lu Kb, rc=%08x"
,
vboxError
(
VIR_ERR_INTERNAL_ERROR
,
"%s:%lu Kb, rc=%08x"
,
"could not set the memory size of the domain to"
,
def
->
memory
,
(
unsigned
)
rc
);
}
rc
=
machine
->
vtbl
->
SetCPUCount
(
machine
,
def
->
vcpus
);
if
(
NS_FAILED
(
rc
))
{
vboxError
(
conn
,
VIR_ERR_INTERNAL_ERROR
,
"%s:%lu, rc=%08x"
,
vboxError
(
VIR_ERR_INTERNAL_ERROR
,
"%s:%lu, rc=%08x"
,
"could not set the number of virtual CPUs to"
,
def
->
vcpus
,
(
unsigned
)
rc
);
}
...
...
@@ -3403,7 +3403,7 @@ static virDomainPtr vboxDomainDefineXML(virConnectPtr conn, const char *xml) {
(
1
<<
VIR_DOMAIN_FEATURE_PAE
));
#endif
/* VBOX_API_VERSION >= 3001 */
if
(
NS_FAILED
(
rc
))
{
vboxError
(
conn
,
VIR_ERR_INTERNAL_ERROR
,
"%s:%s, rc=%08x"
,
vboxError
(
VIR_ERR_INTERNAL_ERROR
,
"%s:%s, rc=%08x"
,
"could not change PAE status to"
,
((
def
->
features
)
&
(
1
<<
VIR_DOMAIN_FEATURE_PAE
))
?
"Enabled"
:
"Disabled"
,
(
unsigned
)
rc
);
...
...
@@ -3414,7 +3414,7 @@ static virDomainPtr vboxDomainDefineXML(virConnectPtr conn, const char *xml) {
rc
=
bios
->
vtbl
->
SetACPIEnabled
(
bios
,
(
def
->
features
)
&
(
1
<<
VIR_DOMAIN_FEATURE_ACPI
));
if
(
NS_FAILED
(
rc
))
{
vboxError
(
conn
,
VIR_ERR_INTERNAL_ERROR
,
"%s:%s, rc=%08x"
,
vboxError
(
VIR_ERR_INTERNAL_ERROR
,
"%s:%s, rc=%08x"
,
"could not change ACPI status to"
,
((
def
->
features
)
&
(
1
<<
VIR_DOMAIN_FEATURE_ACPI
))
?
"Enabled"
:
"Disabled"
,
(
unsigned
)
rc
);
...
...
@@ -3422,7 +3422,7 @@ static virDomainPtr vboxDomainDefineXML(virConnectPtr conn, const char *xml) {
rc
=
bios
->
vtbl
->
SetIOAPICEnabled
(
bios
,
(
def
->
features
)
&
(
1
<<
VIR_DOMAIN_FEATURE_APIC
));
if
(
NS_FAILED
(
rc
))
{
vboxError
(
conn
,
VIR_ERR_INTERNAL_ERROR
,
"%s:%s, rc=%08x"
,
vboxError
(
VIR_ERR_INTERNAL_ERROR
,
"%s:%s, rc=%08x"
,
"could not change APIC status to"
,
((
def
->
features
)
&
(
1
<<
VIR_DOMAIN_FEATURE_APIC
))
?
"Enabled"
:
"Disabled"
,
(
unsigned
)
rc
);
...
...
@@ -3433,8 +3433,8 @@ static virDomainPtr vboxDomainDefineXML(virConnectPtr conn, const char *xml) {
/* Register the machine before attaching other devices to it */
rc
=
data
->
vboxObj
->
vtbl
->
RegisterMachine
(
data
->
vboxObj
,
machine
);
if
(
NS_FAILED
(
rc
))
{
vboxError
(
conn
,
VIR_ERR_INTERNAL_ERROR
,
"%s, rc=%08x"
,
"could not define a domain"
,(
unsigned
)
rc
);
vboxError
(
VIR_ERR_INTERNAL_ERROR
,
"%s, rc=%08x"
,
"could not define a domain"
,
(
unsigned
)
rc
);
goto
cleanup
;
}
...
...
@@ -3551,13 +3551,13 @@ static virDomainPtr vboxDomainDefineXML(virConnectPtr conn, const char *xml) {
if
(
dvdImage
)
{
rc
=
dvdImage
->
vtbl
->
imedium
.
GetId
((
IMedium
*
)
dvdImage
,
&
dvduuid
);
if
(
NS_FAILED
(
rc
))
{
vboxError
(
conn
,
VIR_ERR_INTERNAL_ERROR
,
"%s:%s, rc=%08x"
,
vboxError
(
VIR_ERR_INTERNAL_ERROR
,
"%s:%s, rc=%08x"
,
"can't get the uuid of the file to be attached to cdrom"
,
def
->
disks
[
i
]
->
src
,
(
unsigned
)
rc
);
}
else
{
rc
=
dvdDrive
->
vtbl
->
MountImage
(
dvdDrive
,
dvduuid
);
if
(
NS_FAILED
(
rc
))
{
vboxError
(
conn
,
VIR_ERR_INTERNAL_ERROR
,
"%s:%s, rc=%08x"
,
vboxError
(
VIR_ERR_INTERNAL_ERROR
,
"%s:%s, rc=%08x"
,
"could not attach the file to cdrom"
,
def
->
disks
[
i
]
->
src
,
(
unsigned
)
rc
);
}
else
{
...
...
@@ -3612,7 +3612,7 @@ static virDomainPtr vboxDomainDefineXML(virConnectPtr conn, const char *xml) {
if
(
hardDisk
)
{
rc
=
hardDisk
->
vtbl
->
imedium
.
GetId
((
IMedium
*
)
hardDisk
,
&
hdduuid
);
if
(
NS_FAILED
(
rc
))
{
vboxError
(
conn
,
VIR_ERR_INTERNAL_ERROR
,
"%s:%s, rc=%08x"
,
vboxError
(
VIR_ERR_INTERNAL_ERROR
,
"%s:%s, rc=%08x"
,
"can't get the uuid of the file to be attached as harddisk"
,
def
->
disks
[
i
]
->
src
,
(
unsigned
)
rc
);
}
else
{
...
...
@@ -3655,7 +3655,7 @@ static virDomainPtr vboxDomainDefineXML(virConnectPtr conn, const char *xml) {
VBOX_UTF16_FREE
(
hddcnameUtf16
);
if
(
NS_FAILED
(
rc
))
{
vboxError
(
conn
,
VIR_ERR_INTERNAL_ERROR
,
"%s:%s, rc=%08x"
,
vboxError
(
VIR_ERR_INTERNAL_ERROR
,
"%s:%s, rc=%08x"
,
"could not attach the file as harddisk"
,
def
->
disks
[
i
]
->
src
,
(
unsigned
)
rc
);
}
else
{
...
...
@@ -3709,13 +3709,13 @@ static virDomainPtr vboxDomainDefineXML(virConnectPtr conn, const char *xml) {
if
(
floppyImage
)
{
rc
=
floppyImage
->
vtbl
->
imedium
.
GetId
((
IMedium
*
)
floppyImage
,
&
fduuid
);
if
(
NS_FAILED
(
rc
))
{
vboxError
(
conn
,
VIR_ERR_INTERNAL_ERROR
,
"%s:%s, rc=%08x"
,
vboxError
(
VIR_ERR_INTERNAL_ERROR
,
"%s:%s, rc=%08x"
,
"can't get the uuid of the file to be attached to floppy drive"
,
def
->
disks
[
i
]
->
src
,
(
unsigned
)
rc
);
}
else
{
rc
=
floppyDrive
->
vtbl
->
MountImage
(
floppyDrive
,
fduuid
);
if
(
NS_FAILED
(
rc
))
{
vboxError
(
conn
,
VIR_ERR_INTERNAL_ERROR
,
"%s:%s, rc=%08x"
,
vboxError
(
VIR_ERR_INTERNAL_ERROR
,
"%s:%s, rc=%08x"
,
"could not attach the file to floppy drive"
,
def
->
disks
[
i
]
->
src
,
(
unsigned
)
rc
);
}
else
{
...
...
@@ -3857,7 +3857,7 @@ static virDomainPtr vboxDomainDefineXML(virConnectPtr conn, const char *xml) {
}
if
(
!
medium
)
{
vboxError
(
conn
,
VIR_ERR_INTERNAL_ERROR
,
"%s:%s, rc=%08x"
,
vboxError
(
VIR_ERR_INTERNAL_ERROR
,
"%s:%s, rc=%08x"
,
"Failed to attach the following disk/dvd/floppy to the machine"
,
def
->
disks
[
i
]
->
src
,
(
unsigned
)
rc
);
VBOX_UTF16_FREE
(
mediumFileUtf16
);
...
...
@@ -3866,7 +3866,7 @@ static virDomainPtr vboxDomainDefineXML(virConnectPtr conn, const char *xml) {
rc
=
medium
->
vtbl
->
GetId
(
medium
,
&
mediumUUID
);
if
(
NS_FAILED
(
rc
))
{
vboxError
(
conn
,
VIR_ERR_INTERNAL_ERROR
,
"%s:%s, rc=%08x"
,
vboxError
(
VIR_ERR_INTERNAL_ERROR
,
"%s:%s, rc=%08x"
,
"can't get the uuid of the file to be attached as harddisk/dvd/floppy"
,
def
->
disks
[
i
]
->
src
,
(
unsigned
)
rc
);
VBOX_RELEASE
(
medium
);
...
...
@@ -3906,7 +3906,7 @@ static virDomainPtr vboxDomainDefineXML(virConnectPtr conn, const char *xml) {
&
deviceInst
,
&
devicePort
,
&
deviceSlot
))
{
vboxError
(
conn
,
VIR_ERR_INTERNAL_ERROR
,
"%s:%s, rc=%08x"
,
vboxError
(
VIR_ERR_INTERNAL_ERROR
,
"%s:%s, rc=%08x"
,
"can't get the port/slot number of harddisk/dvd/floppy to be attached"
,
def
->
disks
[
i
]
->
src
,
(
unsigned
)
rc
);
VBOX_RELEASE
(
medium
);
...
...
@@ -3924,7 +3924,7 @@ static virDomainPtr vboxDomainDefineXML(virConnectPtr conn, const char *xml) {
mediumUUID
);
if
(
NS_FAILED
(
rc
))
{
vboxError
(
conn
,
VIR_ERR_INTERNAL_ERROR
,
"%s:%s, rc=%08x"
,
vboxError
(
VIR_ERR_INTERNAL_ERROR
,
"%s:%s, rc=%08x"
,
"could not attach the file as harddisk/dvd/floppy"
,
def
->
disks
[
i
]
->
src
,
(
unsigned
)
rc
);
}
else
{
...
...
@@ -4625,7 +4625,7 @@ static int vboxDomainUndefine(virDomainPtr dom) {
machine
->
vtbl
->
DeleteSettings
(
machine
);
ret
=
0
;
}
else
{
vboxError
(
dom
->
conn
,
VIR_ERR_INTERNAL_ERROR
,
"%s, rc=%08x"
,
vboxError
(
VIR_ERR_INTERNAL_ERROR
,
"%s, rc=%08x"
,
"could not delete the domain"
,
(
unsigned
)
rc
);
}
...
...
@@ -4679,7 +4679,7 @@ static int vboxDomainAttachDeviceImpl(virDomainPtr dom,
rc
=
data
->
vboxObj
->
vtbl
->
GetMachine
(
data
->
vboxObj
,
iid
,
&
machine
);
if
(
NS_FAILED
(
rc
))
{
vboxError
(
dom
->
conn
,
VIR_ERR_INVALID_DOMAIN
,
"no domain with matching uuid"
);
vboxError
(
VIR_ERR_INVALID_DOMAIN
,
"no domain with matching uuid"
);
goto
cleanup
;
}
...
...
@@ -4731,7 +4731,7 @@ static int vboxDomainAttachDeviceImpl(virDomainPtr dom,
if
(
dvdImage
)
{
rc
=
dvdImage
->
vtbl
->
imedium
.
GetId
((
IMedium
*
)
dvdImage
,
&
dvduuid
);
if
(
NS_FAILED
(
rc
))
{
vboxError
(
dom
->
conn
,
VIR_ERR_INTERNAL_ERROR
,
"%s:%s, rc=%08x"
,
vboxError
(
VIR_ERR_INTERNAL_ERROR
,
"%s:%s, rc=%08x"
,
"can't get the uuid of the file to be attached to cdrom"
,
dev
->
data
.
disk
->
src
,
(
unsigned
)
rc
);
}
else
{
...
...
@@ -4739,7 +4739,7 @@ static int vboxDomainAttachDeviceImpl(virDomainPtr dom,
dvdDrive
->
vtbl
->
Unmount
(
dvdDrive
);
rc
=
dvdDrive
->
vtbl
->
MountImage
(
dvdDrive
,
dvduuid
);
if
(
NS_FAILED
(
rc
))
{
vboxError
(
dom
->
conn
,
VIR_ERR_INTERNAL_ERROR
,
"%s:%s, rc=%08x"
,
vboxError
(
VIR_ERR_INTERNAL_ERROR
,
"%s:%s, rc=%08x"
,
"could not attach the file to cdrom"
,
dev
->
data
.
disk
->
src
,
(
unsigned
)
rc
);
}
else
{
...
...
@@ -4793,13 +4793,13 @@ static int vboxDomainAttachDeviceImpl(virDomainPtr dom,
if
(
floppyImage
)
{
rc
=
floppyImage
->
vtbl
->
imedium
.
GetId
((
IMedium
*
)
floppyImage
,
&
fduuid
);
if
(
NS_FAILED
(
rc
))
{
vboxError
(
dom
->
conn
,
VIR_ERR_INTERNAL_ERROR
,
"%s:%s, rc=%08x"
,
vboxError
(
VIR_ERR_INTERNAL_ERROR
,
"%s:%s, rc=%08x"
,
"can't get the uuid of the file to be attached to floppy drive"
,
dev
->
data
.
disk
->
src
,
(
unsigned
)
rc
);
}
else
{
rc
=
floppyDrive
->
vtbl
->
MountImage
(
floppyDrive
,
fduuid
);
if
(
NS_FAILED
(
rc
))
{
vboxError
(
dom
->
conn
,
VIR_ERR_INTERNAL_ERROR
,
"%s:%s, rc=%08x"
,
vboxError
(
VIR_ERR_INTERNAL_ERROR
,
"%s:%s, rc=%08x"
,
"could not attach the file to floppy drive"
,
dev
->
data
.
disk
->
src
,
(
unsigned
)
rc
);
}
else
{
...
...
@@ -4847,7 +4847,7 @@ static int vboxDomainAttachDevice(virDomainPtr dom, const char *xml) {
static
int
vboxDomainAttachDeviceFlags
(
virDomainPtr
dom
,
const
char
*
xml
,
unsigned
int
flags
)
{
if
(
flags
&
VIR_DOMAIN_DEVICE_MODIFY_CONFIG
)
{
vboxError
(
dom
->
conn
,
VIR_ERR_OPERATION_INVALID
,
"%s"
,
vboxError
(
VIR_ERR_OPERATION_INVALID
,
"%s"
,
_
(
"cannot modify the persistent configuration of a domain"
));
return
-
1
;
}
...
...
@@ -4858,7 +4858,7 @@ static int vboxDomainAttachDeviceFlags(virDomainPtr dom, const char *xml,
static
int
vboxDomainUpdateDeviceFlags
(
virDomainPtr
dom
,
const
char
*
xml
,
unsigned
int
flags
)
{
if
(
flags
&
VIR_DOMAIN_DEVICE_MODIFY_CONFIG
)
{
vboxError
(
dom
->
conn
,
VIR_ERR_OPERATION_INVALID
,
"%s"
,
vboxError
(
VIR_ERR_OPERATION_INVALID
,
"%s"
,
_
(
"cannot modify the persistent configuration of a domain"
));
return
-
1
;
}
...
...
@@ -4905,7 +4905,7 @@ static int vboxDomainDetachDevice(virDomainPtr dom, const char *xml) {
rc
=
data
->
vboxObj
->
vtbl
->
GetMachine
(
data
->
vboxObj
,
iid
,
&
machine
);
if
(
NS_FAILED
(
rc
))
{
vboxError
(
dom
->
conn
,
VIR_ERR_INVALID_DOMAIN
,
"no domain with matching uuid"
);
vboxError
(
VIR_ERR_INVALID_DOMAIN
,
"no domain with matching uuid"
);
goto
cleanup
;
}
...
...
@@ -4935,7 +4935,7 @@ static int vboxDomainDetachDevice(virDomainPtr dom, const char *xml) {
if
(
dvdDrive
)
{
rc
=
dvdDrive
->
vtbl
->
Unmount
(
dvdDrive
);
if
(
NS_FAILED
(
rc
))
{
vboxError
(
dom
->
conn
,
VIR_ERR_INTERNAL_ERROR
,
"%s, rc=%08x"
,
vboxError
(
VIR_ERR_INTERNAL_ERROR
,
"%s, rc=%08x"
,
"could not de-attach the mounted ISO"
,
(
unsigned
)
rc
);
}
else
{
...
...
@@ -4956,7 +4956,7 @@ static int vboxDomainDetachDevice(virDomainPtr dom, const char *xml) {
if
(
enabled
)
{
rc
=
floppyDrive
->
vtbl
->
Unmount
(
floppyDrive
);
if
(
NS_FAILED
(
rc
))
{
vboxError
(
dom
->
conn
,
VIR_ERR_INTERNAL_ERROR
,
"%s, rc=%08x"
,
vboxError
(
VIR_ERR_INTERNAL_ERROR
,
"%s, rc=%08x"
,
"could not attach the file to floppy drive"
,
(
unsigned
)
rc
);
}
else
{
...
...
@@ -4999,7 +4999,7 @@ cleanup:
static
int
vboxDomainDetachDeviceFlags
(
virDomainPtr
dom
,
const
char
*
xml
,
unsigned
int
flags
)
{
if
(
flags
&
VIR_DOMAIN_DEVICE_MODIFY_CONFIG
)
{
vboxError
(
dom
->
conn
,
VIR_ERR_OPERATION_INVALID
,
"%s"
,
vboxError
(
VIR_ERR_OPERATION_INVALID
,
"%s"
,
_
(
"cannot modify the persistent configuration of a domain"
));
return
-
1
;
}
...
...
@@ -5020,7 +5020,7 @@ vboxDomainSnapshotGetAll(virDomainPtr dom,
rc
=
machine
->
vtbl
->
GetSnapshotCount
(
machine
,
&
count
);
if
(
NS_FAILED
(
rc
))
{
vboxError
(
dom
->
conn
,
VIR_ERR_INTERNAL_ERROR
,
vboxError
(
VIR_ERR_INTERNAL_ERROR
,
_
(
"could not get snapshot count for domain %s"
),
dom
->
name
);
goto
error
;
...
...
@@ -5036,7 +5036,7 @@ vboxDomainSnapshotGetAll(virDomainPtr dom,
rc
=
machine
->
vtbl
->
GetSnapshot
(
machine
,
NULL
,
list
);
if
(
NS_FAILED
(
rc
)
||
!
list
[
0
])
{
vboxError
(
dom
->
conn
,
VIR_ERR_INTERNAL_ERROR
,
vboxError
(
VIR_ERR_INTERNAL_ERROR
,
_
(
"could not get root snapshot for domain %s"
),
dom
->
name
);
goto
error
;
...
...
@@ -5050,7 +5050,7 @@ vboxDomainSnapshotGetAll(virDomainPtr dom,
unsigned
int
i
;
if
(
!
list
[
next
])
{
vboxError
(
dom
->
conn
,
VIR_ERR_INTERNAL_ERROR
,
vboxError
(
VIR_ERR_INTERNAL_ERROR
,
_
(
"unexpected number of snapshots < %u"
),
count
);
goto
error
;
}
...
...
@@ -5058,7 +5058,7 @@ vboxDomainSnapshotGetAll(virDomainPtr dom,
rc
=
list
[
next
]
->
vtbl
->
GetChildren
(
list
[
next
],
&
childrenCount
,
&
children
);
if
(
NS_FAILED
(
rc
))
{
vboxError
(
dom
->
conn
,
VIR_ERR_INTERNAL_ERROR
,
vboxError
(
VIR_ERR_INTERNAL_ERROR
,
"%s"
,
_
(
"could not get children snapshots"
));
goto
error
;
}
...
...
@@ -5066,7 +5066,7 @@ vboxDomainSnapshotGetAll(virDomainPtr dom,
if
(
!
children
[
i
])
continue
;
if
(
top
==
count
)
{
vboxError
(
dom
->
conn
,
VIR_ERR_INTERNAL_ERROR
,
vboxError
(
VIR_ERR_INTERNAL_ERROR
,
_
(
"unexpected number of snapshots > %u"
),
count
);
goto
error
;
}
...
...
@@ -5109,7 +5109,7 @@ vboxDomainSnapshotGet(vboxGlobalData *data,
rc
=
snapshots
[
i
]
->
vtbl
->
GetName
(
snapshots
[
i
],
&
nameUtf16
);
if
(
NS_FAILED
(
rc
)
||
!
nameUtf16
)
{
vboxError
(
dom
->
conn
,
VIR_ERR_INTERNAL_ERROR
,
vboxError
(
VIR_ERR_INTERNAL_ERROR
,
"%s"
,
_
(
"could not get snapshot name"
));
goto
cleanup
;
}
...
...
@@ -5124,7 +5124,7 @@ vboxDomainSnapshotGet(vboxGlobalData *data,
}
if
(
!
snapshot
)
{
vboxError
(
dom
->
conn
,
VIR_ERR_OPERATION_INVALID
,
vboxError
(
VIR_ERR_OPERATION_INVALID
,
_
(
"domain %s has no snapshots with name %s"
),
dom
->
name
,
name
);
goto
cleanup
;
...
...
@@ -5176,14 +5176,14 @@ vboxDomainSnapshotCreateXML(virDomainPtr dom,
vboxIIDFromUUID
(
dom
->
uuid
,
domiid
);
rc
=
data
->
vboxObj
->
vtbl
->
GetMachine
(
data
->
vboxObj
,
domiid
,
&
machine
);
if
(
NS_FAILED
(
rc
)
||
!
machine
)
{
vboxError
(
dom
->
conn
,
VIR_ERR_INVALID_DOMAIN
,
"%s"
,
vboxError
(
VIR_ERR_INVALID_DOMAIN
,
"%s"
,
_
(
"no domain with matching UUID"
));
goto
cleanup
;
}
rc
=
machine
->
vtbl
->
GetState
(
machine
,
&
state
);
if
(
NS_FAILED
(
rc
))
{
vboxError
(
dom
->
conn
,
VIR_ERR_INTERNAL_ERROR
,
"%s"
,
vboxError
(
VIR_ERR_INTERNAL_ERROR
,
"%s"
,
_
(
"could not get domain state"
));
goto
cleanup
;
}
...
...
@@ -5201,7 +5201,7 @@ vboxDomainSnapshotCreateXML(virDomainPtr dom,
if
(
NS_SUCCEEDED
(
rc
))
rc
=
data
->
vboxSession
->
vtbl
->
GetConsole
(
data
->
vboxSession
,
&
console
);
if
(
NS_FAILED
(
rc
))
{
vboxError
(
dom
->
conn
,
VIR_ERR_INTERNAL_ERROR
,
vboxError
(
VIR_ERR_INTERNAL_ERROR
,
_
(
"could not open VirtualBox session with domain %s"
),
dom
->
name
);
goto
cleanup
;
...
...
@@ -5223,7 +5223,7 @@ vboxDomainSnapshotCreateXML(virDomainPtr dom,
rc
=
console
->
vtbl
->
TakeSnapshot
(
console
,
name
,
description
,
&
progress
);
if
(
NS_FAILED
(
rc
)
||
!
progress
)
{
vboxError
(
dom
->
conn
,
VIR_ERR_INTERNAL_ERROR
,
vboxError
(
VIR_ERR_INTERNAL_ERROR
,
_
(
"could not take snapshot of domain %s"
),
dom
->
name
);
goto
cleanup
;
}
...
...
@@ -5231,14 +5231,14 @@ vboxDomainSnapshotCreateXML(virDomainPtr dom,
progress
->
vtbl
->
WaitForCompletion
(
progress
,
-
1
);
progress
->
vtbl
->
GetResultCode
(
progress
,
&
result
);
if
(
NS_FAILED
(
result
))
{
vboxError
(
dom
->
conn
,
VIR_ERR_INTERNAL_ERROR
,
vboxError
(
VIR_ERR_INTERNAL_ERROR
,
_
(
"could not take snapshot of domain %s"
),
dom
->
name
);
goto
cleanup
;
}
rc
=
machine
->
vtbl
->
GetCurrentSnapshot
(
machine
,
&
snapshot
);
if
(
NS_FAILED
(
rc
))
{
vboxError
(
dom
->
conn
,
VIR_ERR_INTERNAL_ERROR
,
vboxError
(
VIR_ERR_INTERNAL_ERROR
,
_
(
"could not get current snapshot of domain %s"
),
dom
->
name
);
goto
cleanup
;
...
...
@@ -5286,7 +5286,7 @@ vboxDomainSnapshotDumpXML(virDomainSnapshotPtr snapshot,
vboxIIDFromUUID
(
dom
->
uuid
,
domiid
);
rc
=
data
->
vboxObj
->
vtbl
->
GetMachine
(
data
->
vboxObj
,
domiid
,
&
machine
);
if
(
NS_FAILED
(
rc
))
{
vboxError
(
dom
->
conn
,
VIR_ERR_INVALID_DOMAIN
,
"%s"
,
vboxError
(
VIR_ERR_INVALID_DOMAIN
,
"%s"
,
_
(
"no domain with matching UUID"
));
goto
cleanup
;
}
...
...
@@ -5300,7 +5300,7 @@ vboxDomainSnapshotDumpXML(virDomainSnapshotPtr snapshot,
rc
=
snap
->
vtbl
->
GetDescription
(
snap
,
&
str16
);
if
(
NS_FAILED
(
rc
))
{
vboxError
(
dom
->
conn
,
VIR_ERR_INTERNAL_ERROR
,
vboxError
(
VIR_ERR_INTERNAL_ERROR
,
_
(
"could not get description of snapshot %s"
),
snapshot
->
name
);
goto
cleanup
;
...
...
@@ -5316,7 +5316,7 @@ vboxDomainSnapshotDumpXML(virDomainSnapshotPtr snapshot,
rc
=
snap
->
vtbl
->
GetTimeStamp
(
snap
,
&
timestamp
);
if
(
NS_FAILED
(
rc
))
{
vboxError
(
dom
->
conn
,
VIR_ERR_INTERNAL_ERROR
,
vboxError
(
VIR_ERR_INTERNAL_ERROR
,
_
(
"could not get creation time of snapshot %s"
),
snapshot
->
name
);
goto
cleanup
;
...
...
@@ -5326,7 +5326,7 @@ vboxDomainSnapshotDumpXML(virDomainSnapshotPtr snapshot,
rc
=
snap
->
vtbl
->
GetParent
(
snap
,
&
parent
);
if
(
NS_FAILED
(
rc
))
{
vboxError
(
dom
->
conn
,
VIR_ERR_INTERNAL_ERROR
,
vboxError
(
VIR_ERR_INTERNAL_ERROR
,
_
(
"could not get parent of snapshot %s"
),
snapshot
->
name
);
goto
cleanup
;
...
...
@@ -5334,7 +5334,7 @@ vboxDomainSnapshotDumpXML(virDomainSnapshotPtr snapshot,
if
(
parent
)
{
rc
=
parent
->
vtbl
->
GetName
(
parent
,
&
str16
);
if
(
NS_FAILED
(
rc
)
||
!
str16
)
{
vboxError
(
dom
->
conn
,
VIR_ERR_INTERNAL_ERROR
,
vboxError
(
VIR_ERR_INTERNAL_ERROR
,
_
(
"could not get name of parent of snapshot %s"
),
snapshot
->
name
);
goto
cleanup
;
...
...
@@ -5349,7 +5349,7 @@ vboxDomainSnapshotDumpXML(virDomainSnapshotPtr snapshot,
rc
=
snap
->
vtbl
->
GetOnline
(
snap
,
&
online
);
if
(
NS_FAILED
(
rc
))
{
vboxError
(
dom
->
conn
,
VIR_ERR_INTERNAL_ERROR
,
vboxError
(
VIR_ERR_INTERNAL_ERROR
,
_
(
"could not get online state of snapshot %s"
),
snapshot
->
name
);
goto
cleanup
;
...
...
@@ -5395,14 +5395,14 @@ vboxDomainSnapshotNum(virDomainPtr dom,
vboxIIDFromUUID
(
dom
->
uuid
,
iid
);
rc
=
data
->
vboxObj
->
vtbl
->
GetMachine
(
data
->
vboxObj
,
iid
,
&
machine
);
if
(
NS_FAILED
(
rc
))
{
vboxError
(
dom
->
conn
,
VIR_ERR_INVALID_DOMAIN
,
"%s"
,
vboxError
(
VIR_ERR_INVALID_DOMAIN
,
"%s"
,
_
(
"no domain with matching UUID"
));
goto
cleanup
;
}
rc
=
machine
->
vtbl
->
GetSnapshotCount
(
machine
,
&
snapshotCount
);
if
(
NS_FAILED
(
rc
))
{
vboxError
(
dom
->
conn
,
VIR_ERR_INTERNAL_ERROR
,
vboxError
(
VIR_ERR_INTERNAL_ERROR
,
_
(
"could not get snapshot count for domain %s"
),
dom
->
name
);
goto
cleanup
;
...
...
@@ -5440,7 +5440,7 @@ vboxDomainSnapshotListNames(virDomainPtr dom,
vboxIIDFromUUID
(
dom
->
uuid
,
iid
);
rc
=
data
->
vboxObj
->
vtbl
->
GetMachine
(
data
->
vboxObj
,
iid
,
&
machine
);
if
(
NS_FAILED
(
rc
))
{
vboxError
(
dom
->
conn
,
VIR_ERR_INVALID_DOMAIN
,
"%s"
,
vboxError
(
VIR_ERR_INVALID_DOMAIN
,
"%s"
,
_
(
"no domain with matching UUID"
));
goto
cleanup
;
}
...
...
@@ -5457,7 +5457,7 @@ vboxDomainSnapshotListNames(virDomainPtr dom,
rc
=
snapshots
[
i
]
->
vtbl
->
GetName
(
snapshots
[
i
],
&
nameUtf16
);
if
(
NS_FAILED
(
rc
)
||
!
nameUtf16
)
{
vboxError
(
dom
->
conn
,
VIR_ERR_INTERNAL_ERROR
,
vboxError
(
VIR_ERR_INTERNAL_ERROR
,
"%s"
,
_
(
"could not get snapshot name"
));
goto
cleanup
;
}
...
...
@@ -5508,7 +5508,7 @@ vboxDomainSnapshotLookupByName(virDomainPtr dom,
vboxIIDFromUUID
(
dom
->
uuid
,
iid
);
rc
=
data
->
vboxObj
->
vtbl
->
GetMachine
(
data
->
vboxObj
,
iid
,
&
machine
);
if
(
NS_FAILED
(
rc
))
{
vboxError
(
dom
->
conn
,
VIR_ERR_INVALID_DOMAIN
,
"%s"
,
vboxError
(
VIR_ERR_INVALID_DOMAIN
,
"%s"
,
_
(
"no domain with matching UUID"
));
goto
cleanup
;
}
...
...
@@ -5545,14 +5545,14 @@ vboxDomainHasCurrentSnapshot(virDomainPtr dom,
vboxIIDFromUUID
(
dom
->
uuid
,
iid
);
rc
=
data
->
vboxObj
->
vtbl
->
GetMachine
(
data
->
vboxObj
,
iid
,
&
machine
);
if
(
NS_FAILED
(
rc
)
||
!
machine
)
{
vboxError
(
dom
->
conn
,
VIR_ERR_INVALID_DOMAIN
,
"%s"
,
vboxError
(
VIR_ERR_INVALID_DOMAIN
,
"%s"
,
_
(
"no domain with matching UUID"
));
goto
cleanup
;
}
rc
=
machine
->
vtbl
->
GetCurrentSnapshot
(
machine
,
&
snapshot
);
if
(
NS_FAILED
(
rc
))
{
vboxError
(
dom
->
conn
,
VIR_ERR_INTERNAL_ERROR
,
"%s"
,
vboxError
(
VIR_ERR_INTERNAL_ERROR
,
"%s"
,
_
(
"could not get current snapshot"
));
goto
cleanup
;
}
...
...
@@ -5590,27 +5590,27 @@ vboxDomainSnapshotCurrent(virDomainPtr dom,
vboxIIDFromUUID
(
dom
->
uuid
,
iid
);
rc
=
data
->
vboxObj
->
vtbl
->
GetMachine
(
data
->
vboxObj
,
iid
,
&
machine
);
if
(
NS_FAILED
(
rc
)
||
!
machine
)
{
vboxError
(
dom
->
conn
,
VIR_ERR_INVALID_DOMAIN
,
"%s"
,
vboxError
(
VIR_ERR_INVALID_DOMAIN
,
"%s"
,
_
(
"no domain with matching UUID"
));
goto
cleanup
;
}
rc
=
machine
->
vtbl
->
GetCurrentSnapshot
(
machine
,
&
snapshot
);
if
(
NS_FAILED
(
rc
))
{
vboxError
(
dom
->
conn
,
VIR_ERR_INTERNAL_ERROR
,
"%s"
,
vboxError
(
VIR_ERR_INTERNAL_ERROR
,
"%s"
,
_
(
"could not get current snapshot"
));
goto
cleanup
;
}
if
(
!
snapshot
)
{
vboxError
(
dom
->
conn
,
VIR_ERR_OPERATION_INVALID
,
"%s"
,
vboxError
(
VIR_ERR_OPERATION_INVALID
,
"%s"
,
_
(
"domain has no snapshots"
));
goto
cleanup
;
}
rc
=
snapshot
->
vtbl
->
GetName
(
snapshot
,
&
nameUtf16
);
if
(
NS_FAILED
(
rc
)
||
!
nameUtf16
)
{
vboxError
(
dom
->
conn
,
VIR_ERR_INTERNAL_ERROR
,
"%s"
,
vboxError
(
VIR_ERR_INTERNAL_ERROR
,
"%s"
,
_
(
"could not get current snapshot name"
));
goto
cleanup
;
}
...
...
@@ -5644,14 +5644,14 @@ vboxDomainSnapshotRestore(virDomainPtr dom,
rc
=
snapshot
->
vtbl
->
GetId
(
snapshot
,
&
iid
);
if
(
NS_FAILED
(
rc
)
||
!
iid
)
{
vboxError
(
dom
->
conn
,
VIR_ERR_INTERNAL_ERROR
,
"%s"
,
vboxError
(
VIR_ERR_INTERNAL_ERROR
,
"%s"
,
_
(
"could not get snapshot UUID"
));
goto
cleanup
;
}
rc
=
machine
->
vtbl
->
SetCurrentSnapshot
(
machine
,
iid
);
if
(
NS_FAILED
(
rc
))
{
vboxError
(
dom
->
conn
,
VIR_ERR_INTERNAL_ERROR
,
vboxError
(
VIR_ERR_INTERNAL_ERROR
,
_
(
"could not restore snapshot for domain %s"
),
dom
->
name
);
goto
cleanup
;
}
...
...
@@ -5678,21 +5678,21 @@ vboxDomainSnapshotRestore(virDomainPtr dom,
rc
=
machine
->
vtbl
->
GetId
(
machine
,
&
domiid
);
if
(
NS_FAILED
(
rc
)
||
!
domiid
)
{
vboxError
(
dom
->
conn
,
VIR_ERR_INTERNAL_ERROR
,
"%s"
,
vboxError
(
VIR_ERR_INTERNAL_ERROR
,
"%s"
,
_
(
"could not get domain UUID"
));
goto
cleanup
;
}
rc
=
machine
->
vtbl
->
GetState
(
machine
,
&
state
);
if
(
NS_FAILED
(
rc
))
{
vboxError
(
dom
->
conn
,
VIR_ERR_INTERNAL_ERROR
,
"%s"
,
vboxError
(
VIR_ERR_INTERNAL_ERROR
,
"%s"
,
_
(
"could not get domain state"
));
goto
cleanup
;
}
if
(
state
>=
MachineState_FirstOnline
&&
state
<=
MachineState_LastOnline
)
{
vboxError
(
dom
->
conn
,
VIR_ERR_OPERATION_INVALID
,
vboxError
(
VIR_ERR_OPERATION_INVALID
,
_
(
"domain %s is already running"
),
dom
->
name
);
goto
cleanup
;
}
...
...
@@ -5702,7 +5702,7 @@ vboxDomainSnapshotRestore(virDomainPtr dom,
if
(
NS_SUCCEEDED
(
rc
))
rc
=
data
->
vboxSession
->
vtbl
->
GetConsole
(
data
->
vboxSession
,
&
console
);
if
(
NS_FAILED
(
rc
))
{
vboxError
(
dom
->
conn
,
VIR_ERR_INTERNAL_ERROR
,
vboxError
(
VIR_ERR_INTERNAL_ERROR
,
_
(
"could not open VirtualBox session with domain %s"
),
dom
->
name
);
goto
cleanup
;
...
...
@@ -5711,10 +5711,10 @@ vboxDomainSnapshotRestore(virDomainPtr dom,
rc
=
console
->
vtbl
->
RestoreSnapshot
(
console
,
snapshot
,
&
progress
);
if
(
NS_FAILED
(
rc
)
||
!
progress
)
{
if
(
rc
==
VBOX_E_INVALID_VM_STATE
)
{
vboxError
(
dom
->
conn
,
VIR_ERR_OPERATION_INVALID
,
"%s"
,
vboxError
(
VIR_ERR_OPERATION_INVALID
,
"%s"
,
_
(
"cannot restore domain snapshot for running domain"
));
}
else
{
vboxError
(
dom
->
conn
,
VIR_ERR_INTERNAL_ERROR
,
vboxError
(
VIR_ERR_INTERNAL_ERROR
,
_
(
"could not restore snapshot for domain %s"
),
dom
->
name
);
}
...
...
@@ -5724,7 +5724,7 @@ vboxDomainSnapshotRestore(virDomainPtr dom,
progress
->
vtbl
->
WaitForCompletion
(
progress
,
-
1
);
progress
->
vtbl
->
GetResultCode
(
progress
,
&
result
);
if
(
NS_FAILED
(
result
))
{
vboxError
(
dom
->
conn
,
VIR_ERR_INTERNAL_ERROR
,
vboxError
(
VIR_ERR_INTERNAL_ERROR
,
_
(
"could not restore snapshot for domain %s"
),
dom
->
name
);
goto
cleanup
;
}
...
...
@@ -5763,7 +5763,7 @@ vboxDomainRevertToSnapshot(virDomainSnapshotPtr snapshot,
vboxIIDFromUUID
(
dom
->
uuid
,
domiid
);
rc
=
data
->
vboxObj
->
vtbl
->
GetMachine
(
data
->
vboxObj
,
domiid
,
&
machine
);
if
(
NS_FAILED
(
rc
))
{
vboxError
(
dom
->
conn
,
VIR_ERR_INVALID_DOMAIN
,
"%s"
,
vboxError
(
VIR_ERR_INVALID_DOMAIN
,
"%s"
,
_
(
"no domain with matching UUID"
));
goto
cleanup
;
}
...
...
@@ -5774,7 +5774,7 @@ vboxDomainRevertToSnapshot(virDomainSnapshotPtr snapshot,
rc
=
newSnapshot
->
vtbl
->
GetOnline
(
newSnapshot
,
&
online
);
if
(
NS_FAILED
(
rc
))
{
vboxError
(
dom
->
conn
,
VIR_ERR_INTERNAL_ERROR
,
vboxError
(
VIR_ERR_INTERNAL_ERROR
,
_
(
"could not get online state of snapshot %s"
),
snapshot
->
name
);
goto
cleanup
;
...
...
@@ -5782,7 +5782,7 @@ vboxDomainRevertToSnapshot(virDomainSnapshotPtr snapshot,
rc
=
machine
->
vtbl
->
GetCurrentSnapshot
(
machine
,
&
prevSnapshot
);
if
(
NS_FAILED
(
rc
))
{
vboxError
(
dom
->
conn
,
VIR_ERR_INTERNAL_ERROR
,
vboxError
(
VIR_ERR_INTERNAL_ERROR
,
_
(
"could not get current snapshot of domain %s"
),
dom
->
name
);
goto
cleanup
;
...
...
@@ -5790,14 +5790,14 @@ vboxDomainRevertToSnapshot(virDomainSnapshotPtr snapshot,
rc
=
machine
->
vtbl
->
GetState
(
machine
,
&
state
);
if
(
NS_FAILED
(
rc
))
{
vboxError
(
dom
->
conn
,
VIR_ERR_INTERNAL_ERROR
,
"%s"
,
vboxError
(
VIR_ERR_INTERNAL_ERROR
,
"%s"
,
_
(
"could not get domain state"
));
goto
cleanup
;
}
if
(
state
>=
MachineState_FirstOnline
&&
state
<=
MachineState_LastOnline
)
{
vboxError
(
dom
->
conn
,
VIR_ERR_OPERATION_INVALID
,
"%s"
,
vboxError
(
VIR_ERR_OPERATION_INVALID
,
"%s"
,
_
(
"cannot revert snapshot of running domain"
));
goto
cleanup
;
}
...
...
@@ -5836,7 +5836,7 @@ vboxDomainSnapshotDeleteSingle(vboxGlobalData *data,
rc
=
snapshot
->
vtbl
->
GetId
(
snapshot
,
&
iid
);
if
(
NS_FAILED
(
rc
)
||
!
iid
)
{
vboxError
(
NULL
,
VIR_ERR_INTERNAL_ERROR
,
"%s"
,
vboxError
(
VIR_ERR_INTERNAL_ERROR
,
"%s"
,
_
(
"could not get snapshot UUID"
));
goto
cleanup
;
}
...
...
@@ -5848,10 +5848,10 @@ vboxDomainSnapshotDeleteSingle(vboxGlobalData *data,
#endif
if
(
NS_FAILED
(
rc
)
||
!
progress
)
{
if
(
rc
==
VBOX_E_INVALID_VM_STATE
)
{
vboxError
(
NULL
,
VIR_ERR_OPERATION_INVALID
,
"%s"
,
vboxError
(
VIR_ERR_OPERATION_INVALID
,
"%s"
,
_
(
"cannot delete domain snapshot for running domain"
));
}
else
{
vboxError
(
NULL
,
VIR_ERR_INTERNAL_ERROR
,
"%s"
,
vboxError
(
VIR_ERR_INTERNAL_ERROR
,
"%s"
,
_
(
"could not delete snapshot"
));
}
goto
cleanup
;
...
...
@@ -5860,7 +5860,7 @@ vboxDomainSnapshotDeleteSingle(vboxGlobalData *data,
progress
->
vtbl
->
WaitForCompletion
(
progress
,
-
1
);
progress
->
vtbl
->
GetResultCode
(
progress
,
&
result
);
if
(
NS_FAILED
(
result
))
{
vboxError
(
NULL
,
VIR_ERR_INTERNAL_ERROR
,
"%s"
,
vboxError
(
VIR_ERR_INTERNAL_ERROR
,
"%s"
,
_
(
"could not delete snapshot"
));
goto
cleanup
;
}
...
...
@@ -5886,7 +5886,7 @@ vboxDomainSnapshotDeleteTree(vboxGlobalData *data,
rc
=
snapshot
->
vtbl
->
GetChildren
(
snapshot
,
&
childrenCount
,
&
children
);
if
(
NS_FAILED
(
rc
))
{
vboxError
(
NULL
,
VIR_ERR_INTERNAL_ERROR
,
"%s"
,
vboxError
(
VIR_ERR_INTERNAL_ERROR
,
"%s"
,
_
(
"could not get children snapshots"
));
goto
cleanup
;
}
...
...
@@ -5930,7 +5930,7 @@ vboxDomainSnapshotDelete(virDomainSnapshotPtr snapshot,
rc
=
data
->
vboxObj
->
vtbl
->
GetMachine
(
data
->
vboxObj
,
domiid
,
&
machine
);
if
(
NS_FAILED
(
rc
))
{
vboxError
(
dom
->
conn
,
VIR_ERR_INVALID_DOMAIN
,
"%s"
,
vboxError
(
VIR_ERR_INVALID_DOMAIN
,
"%s"
,
_
(
"no domain with matching UUID"
));
goto
cleanup
;
}
...
...
@@ -5941,14 +5941,14 @@ vboxDomainSnapshotDelete(virDomainSnapshotPtr snapshot,
rc
=
machine
->
vtbl
->
GetState
(
machine
,
&
state
);
if
(
NS_FAILED
(
rc
))
{
vboxError
(
dom
->
conn
,
VIR_ERR_INTERNAL_ERROR
,
"%s"
,
vboxError
(
VIR_ERR_INTERNAL_ERROR
,
"%s"
,
_
(
"could not get domain state"
));
goto
cleanup
;
}
if
(
state
>=
MachineState_FirstOnline
&&
state
<=
MachineState_LastOnline
)
{
vboxError
(
dom
->
conn
,
VIR_ERR_OPERATION_INVALID
,
"%s"
,
vboxError
(
VIR_ERR_OPERATION_INVALID
,
"%s"
,
_
(
"cannot delete snapshots of running domain"
));
goto
cleanup
;
}
...
...
@@ -5958,7 +5958,7 @@ vboxDomainSnapshotDelete(virDomainSnapshotPtr snapshot,
if
(
NS_SUCCEEDED
(
rc
))
rc
=
data
->
vboxSession
->
vtbl
->
GetConsole
(
data
->
vboxSession
,
&
console
);
if
(
NS_FAILED
(
rc
))
{
vboxError
(
dom
->
conn
,
VIR_ERR_INTERNAL_ERROR
,
vboxError
(
VIR_ERR_INTERNAL_ERROR
,
_
(
"could not open VirtualBox session with domain %s"
),
dom
->
name
);
goto
cleanup
;
...
...
@@ -6608,7 +6608,7 @@ static int vboxListNetworks(virConnectPtr conn, char **const names, int nnames)
DEBUG
(
"nnames[%d]: %s"
,
ret
,
nameUtf8
);
names
[
ret
]
=
strdup
(
nameUtf8
);
if
(
names
[
ret
]
==
NULL
)
{
v
boxError
(
conn
,
VIR_ERR_SYSTEM_ERROR
,
"%s"
,
"strdup failed"
);
v
irReportOOMError
(
);
}
else
{
ret
++
;
}
...
...
@@ -6689,7 +6689,7 @@ static int vboxListDefinedNetworks(virConnectPtr conn, char **const names, int n
DEBUG
(
"nnames[%d]: %s"
,
ret
,
nameUtf8
);
names
[
ret
]
=
strdup
(
nameUtf8
);
if
(
names
[
ret
]
==
NULL
)
{
v
boxError
(
conn
,
VIR_ERR_SYSTEM_ERROR
,
"%s"
,
"strdup failed"
);
v
irReportOOMError
(
);
}
else
{
ret
++
;
}
...
...
@@ -7211,9 +7211,7 @@ static char *vboxNetworkDumpXML(virNetworkPtr network, int flags ATTRIBUTE_UNUSE
if
(
def
->
hosts
[
0
].
name
==
NULL
)
{
VIR_FREE
(
def
->
hosts
);
def
->
nhosts
=
0
;
vboxError
(
network
->
conn
,
VIR_ERR_SYSTEM_ERROR
,
"%s"
,
"strdup failed"
);
virReportOOMError
();
}
else
{
PRUnichar
*
macAddressUtf16
=
NULL
;
PRUnichar
*
ipAddressUtf16
=
NULL
;
...
...
@@ -7250,8 +7248,7 @@ static char *vboxNetworkDumpXML(virNetworkPtr network, int flags ATTRIBUTE_UNUSE
vboxIIDUnalloc
(
vboxnet0IID
);
VBOX_UTF16_FREE
(
networkNameUtf16
);
}
else
{
vboxError
(
network
->
conn
,
VIR_ERR_SYSTEM_ERROR
,
"%s"
,
"strdup failed"
);
virReportOOMError
();
}
}
...
...
@@ -7368,7 +7365,7 @@ static int vboxStoragePoolNumOfVolumes(virStoragePoolPtr pool) {
hardDiskCount
=
0
;
}
else
{
hardDiskCount
=
-
1
;
vboxError
(
pool
->
conn
,
VIR_ERR_INTERNAL_ERROR
,
"%s:%s, rc=%08x"
,
vboxError
(
VIR_ERR_INTERNAL_ERROR
,
"%s:%s, rc=%08x"
,
"could not get number of volumes in the pool"
,
pool
->
name
,
(
unsigned
)
rc
);
}
...
...
@@ -7424,7 +7421,7 @@ static int vboxStoragePoolListVolumes(virStoragePoolPtr pool, char **const names
hardDiskCount
=
0
;
}
else
{
hardDiskCount
=
-
1
;
vboxError
(
pool
->
conn
,
VIR_ERR_INTERNAL_ERROR
,
"%s:%s, rc=%08x"
,
vboxError
(
VIR_ERR_INTERNAL_ERROR
,
"%s:%s, rc=%08x"
,
"could not get the volume list in the pool"
,
pool
->
name
,
(
unsigned
)
rc
);
}
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录