Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
openeuler
libvirt
提交
dc52cab1
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看板
提交
dc52cab1
编写于
1月 28, 2011
作者:
M
Matthias Bolte
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Prefer C style comments over C++ ones
Pure cosmetic change.
上级
8f4999b4
变更
24
隐藏空白更改
内联
并排
Showing
24 changed file
with
80 addition
and
96 deletion
+80
-96
daemon/libvirtd.c
daemon/libvirtd.c
+2
-2
daemon/remote.c
daemon/remote.c
+2
-2
src/conf/nwfilter_conf.c
src/conf/nwfilter_conf.c
+11
-11
src/conf/nwfilter_conf.h
src/conf/nwfilter_conf.h
+1
-1
src/conf/storage_conf.c
src/conf/storage_conf.c
+2
-2
src/lxc/lxc_container.c
src/lxc/lxc_container.c
+3
-3
src/nwfilter/nwfilter_ebiptables_driver.c
src/nwfilter/nwfilter_ebiptables_driver.c
+3
-3
src/nwfilter/nwfilter_ebiptables_driver.h
src/nwfilter/nwfilter_ebiptables_driver.h
+1
-1
src/nwfilter/nwfilter_gentech_driver.c
src/nwfilter/nwfilter_gentech_driver.c
+6
-6
src/nwfilter/nwfilter_learnipaddr.c
src/nwfilter/nwfilter_learnipaddr.c
+5
-5
src/opennebula/one_conf.c
src/opennebula/one_conf.c
+2
-2
src/opennebula/one_driver.c
src/opennebula/one_driver.c
+3
-3
src/openvz/openvz_conf.c
src/openvz/openvz_conf.c
+1
-1
src/openvz/openvz_driver.c
src/openvz/openvz_driver.c
+4
-4
src/remote/remote_driver.c
src/remote/remote_driver.c
+7
-7
src/test/test_driver.c
src/test/test_driver.c
+1
-1
src/util/macvtap.c
src/util/macvtap.c
+7
-7
src/util/macvtap.h
src/util/macvtap.h
+1
-1
src/vmx/vmx.c
src/vmx/vmx.c
+7
-22
src/xen/xen_hypervisor.c
src/xen/xen_hypervisor.c
+1
-1
src/xen/xend_internal.c
src/xen/xend_internal.c
+4
-4
src/xen/xs_internal.c
src/xen/xs_internal.c
+5
-5
src/xenapi/xenapi_driver.c
src/xenapi/xenapi_driver.c
+0
-1
src/xenapi/xenapi_driver_private.h
src/xenapi/xenapi_driver_private.h
+1
-1
未找到文件。
daemon/libvirtd.c
浏览文件 @
dc52cab1
...
@@ -614,7 +614,7 @@ static int qemudListenUnix(struct qemud_server *server,
...
@@ -614,7 +614,7 @@ static int qemudListenUnix(struct qemud_server *server,
return
-
1
;
return
-
1
;
}
}
/
/ See: http://people.redhat.com/drepper/userapi-ipv6.html
/
* See: http://people.redhat.com/drepper/userapi-ipv6.html */
static
int
static
int
remoteMakeSockets
(
int
*
fds
,
int
max_fds
,
int
*
nfds_r
,
const
char
*
node
,
const
char
*
service
)
remoteMakeSockets
(
int
*
fds
,
int
max_fds
,
int
*
nfds_r
,
const
char
*
node
,
const
char
*
service
)
{
{
...
@@ -1152,7 +1152,7 @@ remoteCheckDN (const char *dname)
...
@@ -1152,7 +1152,7 @@ remoteCheckDN (const char *dname)
/* Print the client's DN. */
/* Print the client's DN. */
DEBUG
(
_
(
"remoteCheckDN: failed: client DN is %s"
),
dname
);
DEBUG
(
_
(
"remoteCheckDN: failed: client DN is %s"
),
dname
);
return
0
;
/
/ Not found.
return
0
;
/
* Not found. */
}
}
static
int
static
int
...
...
daemon/remote.c
浏览文件 @
dc52cab1
...
@@ -790,7 +790,7 @@ remoteDispatchDomainGetSchedulerParameters (struct qemud_server *server ATTRIBUT
...
@@ -790,7 +790,7 @@ remoteDispatchDomainGetSchedulerParameters (struct qemud_server *server ATTRIBUT
goto
oom
;
goto
oom
;
for
(
i
=
0
;
i
<
nparams
;
++
i
)
{
for
(
i
=
0
;
i
<
nparams
;
++
i
)
{
/
/ remoteDispatchClientRequest will free this:
/
* remoteDispatchClientRequest will free this: */
ret
->
params
.
params_val
[
i
].
field
=
strdup
(
params
[
i
].
field
);
ret
->
params
.
params_val
[
i
].
field
=
strdup
(
params
[
i
].
field
);
if
(
ret
->
params
.
params_val
[
i
].
field
==
NULL
)
if
(
ret
->
params
.
params_val
[
i
].
field
==
NULL
)
goto
oom
;
goto
oom
;
...
@@ -2511,7 +2511,7 @@ remoteDispatchDomainGetMemoryParameters(struct qemud_server *server
...
@@ -2511,7 +2511,7 @@ remoteDispatchDomainGetMemoryParameters(struct qemud_server *server
goto
oom
;
goto
oom
;
for
(
i
=
0
;
i
<
nparams
;
++
i
)
{
for
(
i
=
0
;
i
<
nparams
;
++
i
)
{
/
/ remoteDispatchClientRequest will free this:
/
* remoteDispatchClientRequest will free this: */
ret
->
params
.
params_val
[
i
].
field
=
strdup
(
params
[
i
].
field
);
ret
->
params
.
params_val
[
i
].
field
=
strdup
(
params
[
i
].
field
);
if
(
ret
->
params
.
params_val
[
i
].
field
==
NULL
)
if
(
ret
->
params
.
params_val
[
i
].
field
==
NULL
)
goto
oom
;
goto
oom
;
...
...
src/conf/nwfilter_conf.c
浏览文件 @
dc52cab1
...
@@ -428,11 +428,11 @@ typedef bool (*valueFormatter)(virBufferPtr buf,
...
@@ -428,11 +428,11 @@ typedef bool (*valueFormatter)(virBufferPtr buf,
typedef
struct
_virXMLAttr2Struct
virXMLAttr2Struct
;
typedef
struct
_virXMLAttr2Struct
virXMLAttr2Struct
;
struct
_virXMLAttr2Struct
struct
_virXMLAttr2Struct
{
{
const
char
*
name
;
/
/ attribute name
const
char
*
name
;
/
* attribute name */
enum
attrDatatype
datatype
;
enum
attrDatatype
datatype
;
int
dataIdx
;
// offset of the hasXYZ boolean
int
dataIdx
;
/* offset of the hasXYZ boolean */
valueValidator
validator
;
/
/ beyond-standard checkers
valueValidator
validator
;
/
* beyond-standard checkers */
valueFormatter
formatter
;
/
/ beyond-standard formatter
valueFormatter
formatter
;
/
* beyond-standard formatter */
size_t
maxstrlen
;
size_t
maxstrlen
;
};
};
...
@@ -1494,7 +1494,7 @@ virNWFilterRuleDetailsParse(xmlNodePtr node,
...
@@ -1494,7 +1494,7 @@ virNWFilterRuleDetailsParse(xmlNodePtr node,
case
DATATYPE_STRING
:
case
DATATYPE_STRING
:
if
(
!
validator
)
{
if
(
!
validator
)
{
/
/ not supported
/
* not supported */
rc
=
-
1
;
rc
=
-
1
;
break
;
break
;
}
}
...
@@ -2314,7 +2314,7 @@ virNWFilterTriggerVMFilterRebuild(virConnectPtr conn)
...
@@ -2314,7 +2314,7 @@ virNWFilterTriggerVMFilterRebuild(virConnectPtr conn)
err
=
cb
.
err
;
err
=
cb
.
err
;
if
(
err
)
{
if
(
err
)
{
cb
.
step
=
STEP_TEAR_NEW
;
/
/ rollback
cb
.
step
=
STEP_TEAR_NEW
;
/
* rollback */
cb
.
err
=
0
;
cb
.
err
=
0
;
for
(
i
=
0
;
i
<
nCallbackDriver
;
i
++
)
for
(
i
=
0
;
i
<
nCallbackDriver
;
i
++
)
...
@@ -2322,7 +2322,7 @@ virNWFilterTriggerVMFilterRebuild(virConnectPtr conn)
...
@@ -2322,7 +2322,7 @@ virNWFilterTriggerVMFilterRebuild(virConnectPtr conn)
virNWFilterDomainFWUpdateCB
,
virNWFilterDomainFWUpdateCB
,
&
cb
);
&
cb
);
}
else
{
}
else
{
cb
.
step
=
STEP_TEAR_OLD
;
/
/ switch over
cb
.
step
=
STEP_TEAR_OLD
;
/
* switch over */
for
(
i
=
0
;
i
<
nCallbackDriver
;
i
++
)
for
(
i
=
0
;
i
<
nCallbackDriver
;
i
++
)
callbackDrvArray
[
i
]
->
vmFilterRebuild
(
conn
,
callbackDrvArray
[
i
]
->
vmFilterRebuild
(
conn
,
...
@@ -2345,7 +2345,7 @@ virNWFilterTestUnassignDef(virConnectPtr conn,
...
@@ -2345,7 +2345,7 @@ virNWFilterTestUnassignDef(virConnectPtr conn,
virNWFilterLockFilterUpdates
();
virNWFilterLockFilterUpdates
();
nwfilter
->
wantRemoved
=
1
;
nwfilter
->
wantRemoved
=
1
;
/
/ trigger the update on VMs referencing the filter
/
* trigger the update on VMs referencing the filter */
if
(
virNWFilterTriggerVMFilterRebuild
(
conn
))
if
(
virNWFilterTriggerVMFilterRebuild
(
conn
))
rc
=
1
;
rc
=
1
;
...
@@ -2385,7 +2385,7 @@ virNWFilterObjAssignDef(virConnectPtr conn,
...
@@ -2385,7 +2385,7 @@ virNWFilterObjAssignDef(virConnectPtr conn,
if
((
nwfilter
=
virNWFilterObjFindByName
(
nwfilters
,
def
->
name
)))
{
if
((
nwfilter
=
virNWFilterObjFindByName
(
nwfilters
,
def
->
name
)))
{
virNWFilterLockFilterUpdates
();
virNWFilterLockFilterUpdates
();
nwfilter
->
newDef
=
def
;
nwfilter
->
newDef
=
def
;
/
/ trigger the update on VMs referencing the filter
/
* trigger the update on VMs referencing the filter */
if
(
virNWFilterTriggerVMFilterRebuild
(
conn
))
{
if
(
virNWFilterTriggerVMFilterRebuild
(
conn
))
{
nwfilter
->
newDef
=
NULL
;
nwfilter
->
newDef
=
NULL
;
virNWFilterUnlockFilterUpdates
();
virNWFilterUnlockFilterUpdates
();
...
@@ -2454,7 +2454,7 @@ virNWFilterObjLoad(virConnectPtr conn,
...
@@ -2454,7 +2454,7 @@ virNWFilterObjLoad(virConnectPtr conn,
return
NULL
;
return
NULL
;
}
}
VIR_FREE
(
nwfilter
->
configFile
);
/
/ for driver reload
VIR_FREE
(
nwfilter
->
configFile
);
/
* for driver reload */
nwfilter
->
configFile
=
strdup
(
path
);
nwfilter
->
configFile
=
strdup
(
path
);
if
(
nwfilter
->
configFile
==
NULL
)
{
if
(
nwfilter
->
configFile
==
NULL
)
{
virReportOOMError
();
virReportOOMError
();
...
@@ -2685,7 +2685,7 @@ virNWFilterRuleDefDetailsFormat(virBufferPtr buf,
...
@@ -2685,7 +2685,7 @@ virNWFilterRuleDefDetailsFormat(virBufferPtr buf,
asHex
=
true
;
asHex
=
true
;
case
DATATYPE_IPMASK
:
case
DATATYPE_IPMASK
:
case
DATATYPE_IPV6MASK
:
case
DATATYPE_IPV6MASK
:
/
/ display all masks in CIDR format
/
* display all masks in CIDR format */
case
DATATYPE_UINT8
:
case
DATATYPE_UINT8
:
virBufferVSprintf
(
buf
,
asHex
?
"0x%x"
:
"%d"
,
virBufferVSprintf
(
buf
,
asHex
?
"0x%x"
:
"%d"
,
item
->
u
.
u8
);
item
->
u
.
u8
);
...
...
src/conf/nwfilter_conf.h
浏览文件 @
dc52cab1
...
@@ -84,7 +84,7 @@ enum virNWFilterEntryItemFlags {
...
@@ -84,7 +84,7 @@ enum virNWFilterEntryItemFlags {
# define ENTRY_GET_NEG_SIGN(data) \
# define ENTRY_GET_NEG_SIGN(data) \
((((data)->flags) & NWFILTER_ENTRY_ITEM_FLAG_IS_NEG) ? "!" : "")
((((data)->flags) & NWFILTER_ENTRY_ITEM_FLAG_IS_NEG) ? "!" : "")
/
/ datatypes appearing in rule attributes
/
* datatypes appearing in rule attributes */
enum
attrDatatype
{
enum
attrDatatype
{
DATATYPE_UINT16
=
(
1
<<
0
),
DATATYPE_UINT16
=
(
1
<<
0
),
DATATYPE_UINT8
=
(
1
<<
1
),
DATATYPE_UINT8
=
(
1
<<
1
),
...
...
src/conf/storage_conf.c
浏览文件 @
dc52cab1
...
@@ -1435,14 +1435,14 @@ virStoragePoolObjLoad(virStoragePoolObjListPtr pools,
...
@@ -1435,14 +1435,14 @@ virStoragePoolObjLoad(virStoragePoolObjListPtr pools,
return
NULL
;
return
NULL
;
}
}
VIR_FREE
(
pool
->
configFile
);
/
/ for driver reload
VIR_FREE
(
pool
->
configFile
);
/
* for driver reload */
pool
->
configFile
=
strdup
(
path
);
pool
->
configFile
=
strdup
(
path
);
if
(
pool
->
configFile
==
NULL
)
{
if
(
pool
->
configFile
==
NULL
)
{
virReportOOMError
();
virReportOOMError
();
virStoragePoolDefFree
(
def
);
virStoragePoolDefFree
(
def
);
return
NULL
;
return
NULL
;
}
}
VIR_FREE
(
pool
->
autostartLink
);
/
/ for driver reload
VIR_FREE
(
pool
->
autostartLink
);
/
* for driver reload */
pool
->
autostartLink
=
strdup
(
autostartLink
);
pool
->
autostartLink
=
strdup
(
autostartLink
);
if
(
pool
->
autostartLink
==
NULL
)
{
if
(
pool
->
autostartLink
==
NULL
)
{
virReportOOMError
();
virReportOOMError
();
...
...
src/lxc/lxc_container.c
浏览文件 @
dc52cab1
...
@@ -281,7 +281,7 @@ error_out:
...
@@ -281,7 +281,7 @@ error_out:
}
}
/
/_syscall2(int, pivot_root, char *, newroot, const char *, oldroot)
/
*_syscall2(int, pivot_root, char *, newroot, const char *, oldroot)*/
extern
int
pivot_root
(
const
char
*
new_root
,
const
char
*
put_old
);
extern
int
pivot_root
(
const
char
*
new_root
,
const
char
*
put_old
);
static
int
lxcContainerChildMountSort
(
const
void
*
a
,
const
void
*
b
)
static
int
lxcContainerChildMountSort
(
const
void
*
a
,
const
void
*
b
)
...
@@ -526,7 +526,7 @@ static int lxcContainerMountNewFS(virDomainDefPtr vmDef)
...
@@ -526,7 +526,7 @@ static int lxcContainerMountNewFS(virDomainDefPtr vmDef)
char
*
src
;
char
*
src
;
if
(
STREQ
(
vmDef
->
fss
[
i
]
->
dst
,
"/"
))
if
(
STREQ
(
vmDef
->
fss
[
i
]
->
dst
,
"/"
))
continue
;
continue
;
/
/ XXX fix
/
* XXX fix */
if
(
vmDef
->
fss
[
i
]
->
type
!=
VIR_DOMAIN_FS_TYPE_MOUNT
)
if
(
vmDef
->
fss
[
i
]
->
type
!=
VIR_DOMAIN_FS_TYPE_MOUNT
)
continue
;
continue
;
...
@@ -650,7 +650,7 @@ static int lxcContainerSetupExtraMounts(virDomainDefPtr vmDef)
...
@@ -650,7 +650,7 @@ static int lxcContainerSetupExtraMounts(virDomainDefPtr vmDef)
return
-
1
;
return
-
1
;
}
}
for
(
i
=
0
;
i
<
vmDef
->
nfss
;
i
++
)
{
for
(
i
=
0
;
i
<
vmDef
->
nfss
;
i
++
)
{
/
/ XXX fix to support other mount types
/
* XXX fix to support other mount types */
if
(
vmDef
->
fss
[
i
]
->
type
!=
VIR_DOMAIN_FS_TYPE_MOUNT
)
if
(
vmDef
->
fss
[
i
]
->
type
!=
VIR_DOMAIN_FS_TYPE_MOUNT
)
continue
;
continue
;
...
...
src/nwfilter/nwfilter_ebiptables_driver.c
浏览文件 @
dc52cab1
...
@@ -997,7 +997,7 @@ iptablesHandleIpHdr(virBufferPtr buf,
...
@@ -997,7 +997,7 @@ iptablesHandleIpHdr(virBufferPtr buf,
if
(
HAS_ENTRY_ITEM
(
&
ipHdr
->
dataConnlimitAbove
))
{
if
(
HAS_ENTRY_ITEM
(
&
ipHdr
->
dataConnlimitAbove
))
{
if
(
directionIn
)
{
if
(
directionIn
)
{
/
/ only support for limit in outgoing dir.
/
* only support for limit in outgoing dir. */
*
skipRule
=
true
;
*
skipRule
=
true
;
}
else
{
}
else
{
if
(
printDataType
(
vars
,
if
(
printDataType
(
vars
,
...
@@ -3320,7 +3320,7 @@ ebiptablesApplyNewRules(virConnectPtr conn ATTRIBUTE_UNUSED,
...
@@ -3320,7 +3320,7 @@ ebiptablesApplyNewRules(virConnectPtr conn ATTRIBUTE_UNUSED,
if
(
chains_out
&
(
1
<<
VIR_NWFILTER_CHAINSUFFIX_IPv6
))
if
(
chains_out
&
(
1
<<
VIR_NWFILTER_CHAINSUFFIX_IPv6
))
ebtablesCreateTmpSubChain
(
&
buf
,
0
,
ifname
,
L3_PROTO_IPV6_IDX
,
1
);
ebtablesCreateTmpSubChain
(
&
buf
,
0
,
ifname
,
L3_PROTO_IPV6_IDX
,
1
);
/
/ keep arp,rarp as last
/
* keep arp,rarp as last */
if
(
chains_in
&
(
1
<<
VIR_NWFILTER_CHAINSUFFIX_ARP
))
if
(
chains_in
&
(
1
<<
VIR_NWFILTER_CHAINSUFFIX_ARP
))
ebtablesCreateTmpSubChain
(
&
buf
,
1
,
ifname
,
L3_PROTO_ARP_IDX
,
1
);
ebtablesCreateTmpSubChain
(
&
buf
,
1
,
ifname
,
L3_PROTO_ARP_IDX
,
1
);
if
(
chains_out
&
(
1
<<
VIR_NWFILTER_CHAINSUFFIX_ARP
))
if
(
chains_out
&
(
1
<<
VIR_NWFILTER_CHAINSUFFIX_ARP
))
...
@@ -3503,7 +3503,7 @@ ebiptablesTearOldRules(virConnectPtr conn ATTRIBUTE_UNUSED,
...
@@ -3503,7 +3503,7 @@ ebiptablesTearOldRules(virConnectPtr conn ATTRIBUTE_UNUSED,
int
cli_status
;
int
cli_status
;
virBuffer
buf
=
VIR_BUFFER_INITIALIZER
;
virBuffer
buf
=
VIR_BUFFER_INITIALIZER
;
/
/ switch to new iptables user defined chains
/
* switch to new iptables user defined chains */
if
(
iptables_cmd_path
)
{
if
(
iptables_cmd_path
)
{
iptablesUnlinkRootChains
(
iptables_cmd_path
,
&
buf
,
ifname
);
iptablesUnlinkRootChains
(
iptables_cmd_path
,
&
buf
,
ifname
);
iptablesRemoveRootChains
(
iptables_cmd_path
,
&
buf
,
ifname
);
iptablesRemoveRootChains
(
iptables_cmd_path
,
&
buf
,
ifname
);
...
...
src/nwfilter/nwfilter_ebiptables_driver.h
浏览文件 @
dc52cab1
...
@@ -36,7 +36,7 @@ typedef ebiptablesRuleInst *ebiptablesRuleInstPtr;
...
@@ -36,7 +36,7 @@ typedef ebiptablesRuleInst *ebiptablesRuleInstPtr;
struct
_ebiptablesRuleInst
{
struct
_ebiptablesRuleInst
{
char
*
commandTemplate
;
char
*
commandTemplate
;
enum
virNWFilterChainSuffixType
neededProtocolChain
;
enum
virNWFilterChainSuffixType
neededProtocolChain
;
char
chainprefix
;
/
/ I for incoming, O for outgoing
char
chainprefix
;
/
* I for incoming, O for outgoing */
unsigned
int
priority
;
unsigned
int
priority
;
enum
RuleType
ruleType
;
enum
RuleType
ruleType
;
};
};
...
...
src/nwfilter/nwfilter_gentech_driver.c
浏览文件 @
dc52cab1
...
@@ -363,7 +363,7 @@ _virNWFilterInstantiateRec(virConnectPtr conn,
...
@@ -363,7 +363,7 @@ _virNWFilterInstantiateRec(virConnectPtr conn,
break
;
break
;
}
}
/
/ create a temporary hashmap for depth-first tree traversal
/
* create a temporary hashmap for depth-first tree traversal */
virNWFilterHashTablePtr
tmpvars
=
virNWFilterHashTablePtr
tmpvars
=
virNWFilterCreateVarsFrom
(
inc
->
params
,
virNWFilterCreateVarsFrom
(
inc
->
params
,
vars
);
vars
);
...
@@ -433,7 +433,7 @@ virNWFilterDetermineMissingVarsRec(virConnectPtr conn,
...
@@ -433,7 +433,7 @@ virNWFilterDetermineMissingVarsRec(virConnectPtr conn,
virNWFilterRuleDefPtr
rule
=
filter
->
filterEntries
[
i
]
->
rule
;
virNWFilterRuleDefPtr
rule
=
filter
->
filterEntries
[
i
]
->
rule
;
virNWFilterIncludeDefPtr
inc
=
filter
->
filterEntries
[
i
]
->
include
;
virNWFilterIncludeDefPtr
inc
=
filter
->
filterEntries
[
i
]
->
include
;
if
(
rule
)
{
if
(
rule
)
{
/
/ check all variables of this rule
/
* check all variables of this rule */
for
(
j
=
0
;
j
<
rule
->
nvars
;
j
++
)
{
for
(
j
=
0
;
j
<
rule
->
nvars
;
j
++
)
{
if
(
!
virHashLookup
(
vars
->
hashTable
,
rule
->
vars
[
j
]))
{
if
(
!
virHashLookup
(
vars
->
hashTable
,
rule
->
vars
[
j
]))
{
virNWFilterHashTablePut
(
missing_vars
,
rule
->
vars
[
j
],
virNWFilterHashTablePut
(
missing_vars
,
rule
->
vars
[
j
],
...
@@ -454,7 +454,7 @@ virNWFilterDetermineMissingVarsRec(virConnectPtr conn,
...
@@ -454,7 +454,7 @@ virNWFilterDetermineMissingVarsRec(virConnectPtr conn,
break
;
break
;
}
}
/
/ create a temporary hashmap for depth-first tree traversal
/
* create a temporary hashmap for depth-first tree traversal */
virNWFilterHashTablePtr
tmpvars
=
virNWFilterHashTablePtr
tmpvars
=
virNWFilterCreateVarsFrom
(
inc
->
params
,
virNWFilterCreateVarsFrom
(
inc
->
params
,
vars
);
vars
);
...
@@ -879,10 +879,10 @@ virNWFilterInstantiateFilterLate(virConnectPtr conn,
...
@@ -879,10 +879,10 @@ virNWFilterInstantiateFilterLate(virConnectPtr conn,
true
,
true
,
&
foundNewFilter
);
&
foundNewFilter
);
if
(
rc
)
{
if
(
rc
)
{
/
/something went wrong... 'DOWN' the interface
/
* something went wrong... 'DOWN' the interface */
if
(
ifaceCheck
(
false
,
ifname
,
NULL
,
ifindex
)
!=
0
||
if
(
ifaceCheck
(
false
,
ifname
,
NULL
,
ifindex
)
!=
0
||
ifaceDown
(
ifname
))
{
ifaceDown
(
ifname
))
{
/
/ assuming interface disappeared...
/
* assuming interface disappeared... */
_virNWFilterTeardownFilter
(
ifname
);
_virNWFilterTeardownFilter
(
ifname
);
}
}
}
}
...
@@ -1033,7 +1033,7 @@ virNWFilterDomainFWUpdateCB(void *payload,
...
@@ -1033,7 +1033,7 @@ virNWFilterDomainFWUpdateCB(void *payload,
net
,
net
,
&
skipIface
);
&
skipIface
);
if
(
cb
->
err
==
0
&&
skipIface
==
true
)
{
if
(
cb
->
err
==
0
&&
skipIface
==
true
)
{
/
/ filter tree unchanged -- no update needed
/
* filter tree unchanged -- no update needed */
cb
->
err
=
virHashAddEntry
(
cb
->
skipInterfaces
,
cb
->
err
=
virHashAddEntry
(
cb
->
skipInterfaces
,
net
->
ifname
,
net
->
ifname
,
(
void
*
)
~
0
);
(
void
*
)
~
0
);
...
...
src/nwfilter/nwfilter_learnipaddr.c
浏览文件 @
dc52cab1
...
@@ -538,7 +538,7 @@ learnIPAddressThread(void *arg)
...
@@ -538,7 +538,7 @@ learnIPAddressThread(void *arg)
if
(
memcmp
(
ether_hdr
->
ether_shost
,
if
(
memcmp
(
ether_hdr
->
ether_shost
,
req
->
macaddr
,
req
->
macaddr
,
VIR_MAC_BUFLEN
)
==
0
)
{
VIR_MAC_BUFLEN
)
==
0
)
{
/
/ packets from the VM
/
* packets from the VM */
if
(
etherType
==
ETHERTYPE_IP
&&
if
(
etherType
==
ETHERTYPE_IP
&&
(
header
.
len
>=
ethHdrSize
+
(
header
.
len
>=
ethHdrSize
+
...
@@ -546,9 +546,9 @@ learnIPAddressThread(void *arg)
...
@@ -546,9 +546,9 @@ learnIPAddressThread(void *arg)
struct
iphdr
*
iphdr
=
(
struct
iphdr
*
)(
packet
+
struct
iphdr
*
iphdr
=
(
struct
iphdr
*
)(
packet
+
ethHdrSize
);
ethHdrSize
);
vmaddr
=
iphdr
->
saddr
;
vmaddr
=
iphdr
->
saddr
;
/
/
skip mcast addresses (224.0.0.0 - 239.255.255.255),
/
*
skip mcast addresses (224.0.0.0 - 239.255.255.255),
//
class E (240.0.0.0 - 255.255.255.255, includes eth.
*
class E (240.0.0.0 - 255.255.255.255, includes eth.
// bcast) and zero address in DHCP Requests
* bcast) and zero address in DHCP Requests */
if
(
(
ntohl
(
vmaddr
)
&
0xe0000000
)
==
0xe0000000
||
if
(
(
ntohl
(
vmaddr
)
&
0xe0000000
)
==
0xe0000000
||
vmaddr
==
0
)
{
vmaddr
==
0
)
{
vmaddr
=
0
;
vmaddr
=
0
;
...
@@ -575,7 +575,7 @@ learnIPAddressThread(void *arg)
...
@@ -575,7 +575,7 @@ learnIPAddressThread(void *arg)
}
else
if
(
memcmp
(
ether_hdr
->
ether_dhost
,
}
else
if
(
memcmp
(
ether_hdr
->
ether_dhost
,
req
->
macaddr
,
req
->
macaddr
,
VIR_MAC_BUFLEN
)
==
0
)
{
VIR_MAC_BUFLEN
)
==
0
)
{
/
/ packets to the VM
/
* packets to the VM */
if
(
etherType
==
ETHERTYPE_IP
&&
if
(
etherType
==
ETHERTYPE_IP
&&
(
header
.
len
>=
ethHdrSize
+
(
header
.
len
>=
ethHdrSize
+
sizeof
(
struct
iphdr
)))
{
sizeof
(
struct
iphdr
)))
{
...
...
src/opennebula/one_conf.c
浏览文件 @
dc52cab1
...
@@ -191,7 +191,7 @@ char* xmlOneTemplate(virDomainDefPtr def)
...
@@ -191,7 +191,7 @@ char* xmlOneTemplate(virDomainDefPtr def)
}
}
/* set Disks & NICS */
/* set Disks & NICS */
for
(
i
=
0
;
i
<
def
->
ndisks
;
i
++
)
{
for
(
i
=
0
;
i
<
def
->
ndisks
;
i
++
)
{
/
/ missing source is only allowed at cdrom and floppy
/
* missing source is only allowed at cdrom and floppy */
if
(
def
->
disks
[
i
]
->
device
==
VIR_DOMAIN_DISK_DEVICE_DISK
)
{
if
(
def
->
disks
[
i
]
->
device
==
VIR_DOMAIN_DISK_DEVICE_DISK
)
{
virBufferVSprintf
(
&
buf
,
"DISK=[ type = disk,
\n
"
virBufferVSprintf
(
&
buf
,
"DISK=[ type = disk,
\n
"
"
\t
source =
\"
%s
\"
,
\n
"
,
"
\t
source =
\"
%s
\"
,
\n
"
,
...
@@ -269,7 +269,7 @@ char* xmlOneTemplate(virDomainDefPtr def)
...
@@ -269,7 +269,7 @@ char* xmlOneTemplate(virDomainDefPtr def)
virBufferAddLit
(
&
buf
,
" ]
\n
"
);
virBufferAddLit
(
&
buf
,
" ]
\n
"
);
}
}
else
/
/graphics.type==VIR_DOMAIN_GRAPHICS_TYPE_SDL
else
/
* graphics.type==VIR_DOMAIN_GRAPHICS_TYPE_SDL */
virBufferAddLit
(
&
buf
,
"GRAPHICS = [
\n
type =
\"
sdl
\"
]
\n
"
);
virBufferAddLit
(
&
buf
,
"GRAPHICS = [
\n
type =
\"
sdl
\"
]
\n
"
);
}
}
...
...
src/opennebula/one_driver.c
浏览文件 @
dc52cab1
...
@@ -333,7 +333,7 @@ static int oneDomainGetInfo(virDomainPtr dom,
...
@@ -333,7 +333,7 @@ static int oneDomainGetInfo(virDomainPtr dom,
}
else
{
}
else
{
char
vm_info
[
257
];
char
vm_info
[
257
];
c_oneVmInfo
(
vm
->
pid
,
vm_info
,
256
);
c_oneVmInfo
(
vm
->
pid
,
vm_info
,
256
);
/
/State:
/
* State: */
char
*
cptr
=
strstr
(
vm_info
,
"STATE"
);
char
*
cptr
=
strstr
(
vm_info
,
"STATE"
);
cptr
=
index
(
cptr
,
':'
);
cptr
=
index
(
cptr
,
':'
);
cptr
++
;
cptr
++
;
...
@@ -357,13 +357,13 @@ static int oneDomainGetInfo(virDomainPtr dom,
...
@@ -357,13 +357,13 @@ static int oneDomainGetInfo(virDomainPtr dom,
default:
default:
break
;
break
;
};
};
/
/Memory:
/
* Memory: */
cptr
=
strstr
(
vm_info
,
"MEMORY"
);
cptr
=
strstr
(
vm_info
,
"MEMORY"
);
cptr
=
index
(
cptr
,
':'
);
cptr
=
index
(
cptr
,
':'
);
cptr
++
;
cptr
++
;
vm
->
def
->
mem
.
cur_balloon
=
atoi
(
cptr
);
vm
->
def
->
mem
.
cur_balloon
=
atoi
(
cptr
);
/
/run time:
/
* run time: */
cptr
=
strstr
(
vm_info
,
"START TIME"
);
cptr
=
strstr
(
vm_info
,
"START TIME"
);
cptr
=
index
(
cptr
,
':'
);
cptr
=
index
(
cptr
,
':'
);
cptr
++
;
cptr
++
;
...
...
src/openvz/openvz_conf.c
浏览文件 @
dc52cab1
...
@@ -287,7 +287,7 @@ openvzReadNetworkConf(virDomainDefPtr def,
...
@@ -287,7 +287,7 @@ openvzReadNetworkConf(virDomainDefPtr def,
}
else
if
(
STRPREFIX
(
p
,
"mac="
))
{
}
else
if
(
STRPREFIX
(
p
,
"mac="
))
{
p
+=
4
;
p
+=
4
;
len
=
next
-
p
;
len
=
next
-
p
;
if
(
len
!=
17
)
{
/
/should be 17
if
(
len
!=
17
)
{
/
* should be 17 */
openvzError
(
VIR_ERR_INTERNAL_ERROR
,
"%s"
,
openvzError
(
VIR_ERR_INTERNAL_ERROR
,
"%s"
,
_
(
"Wrong length MAC address"
));
_
(
"Wrong length MAC address"
));
goto
error
;
goto
error
;
...
...
src/openvz/openvz_driver.c
浏览文件 @
dc52cab1
...
@@ -714,7 +714,7 @@ openvzDomainSetNetwork(virConnectPtr conn, const char *vpsid,
...
@@ -714,7 +714,7 @@ openvzDomainSetNetwork(virConnectPtr conn, const char *vpsid,
virBuffer
buf
=
VIR_BUFFER_INITIALIZER
;
virBuffer
buf
=
VIR_BUFFER_INITIALIZER
;
int
veid
=
openvzGetVEID
(
vpsid
);
int
veid
=
openvzGetVEID
(
vpsid
);
/
/--netif_add ifname[,mac,host_ifname,host_mac]
/
* --netif_add ifname[,mac,host_ifname,host_mac] */
ADD_ARG_LIT
(
"--netif_add"
)
;
ADD_ARG_LIT
(
"--netif_add"
)
;
/* if user doesn't specify guest interface name,
/* if user doesn't specify guest interface name,
...
@@ -765,12 +765,12 @@ openvzDomainSetNetwork(virConnectPtr conn, const char *vpsid,
...
@@ -765,12 +765,12 @@ openvzDomainSetNetwork(virConnectPtr conn, const char *vpsid,
VIR_FREE
(
opt
);
VIR_FREE
(
opt
);
}
else
if
(
net
->
type
==
VIR_DOMAIN_NET_TYPE_ETHERNET
&&
}
else
if
(
net
->
type
==
VIR_DOMAIN_NET_TYPE_ETHERNET
&&
net
->
data
.
ethernet
.
ipaddr
!=
NULL
)
{
net
->
data
.
ethernet
.
ipaddr
!=
NULL
)
{
/
/--ipadd ip
/
* --ipadd ip */
ADD_ARG_LIT
(
"--ipadd"
)
;
ADD_ARG_LIT
(
"--ipadd"
)
;
ADD_ARG_LIT
(
net
->
data
.
ethernet
.
ipaddr
)
;
ADD_ARG_LIT
(
net
->
data
.
ethernet
.
ipaddr
)
;
}
}
/
/TODO: processing NAT and physical device
/
* TODO: processing NAT and physical device */
if
(
prog
[
0
]
!=
NULL
)
{
if
(
prog
[
0
]
!=
NULL
)
{
ADD_ARG_LIT
(
"--save"
);
ADD_ARG_LIT
(
"--save"
);
...
@@ -882,7 +882,7 @@ openvzDomainDefineXML(virConnectPtr conn, const char *xml)
...
@@ -882,7 +882,7 @@ openvzDomainDefineXML(virConnectPtr conn, const char *xml)
goto
cleanup
;
goto
cleanup
;
}
}
/
/TODO: set quota
/
* TODO: set quota */
if
(
openvzSetDefinedUUID
(
strtoI
(
vm
->
def
->
name
),
vm
->
def
->
uuid
)
<
0
)
{
if
(
openvzSetDefinedUUID
(
strtoI
(
vm
->
def
->
name
),
vm
->
def
->
uuid
)
<
0
)
{
openvzError
(
VIR_ERR_INTERNAL_ERROR
,
"%s"
,
openvzError
(
VIR_ERR_INTERNAL_ERROR
,
"%s"
,
...
...
src/remote/remote_driver.c
浏览文件 @
dc52cab1
...
@@ -589,7 +589,7 @@ doRemoteOpen (virConnectPtr conn,
...
@@ -589,7 +589,7 @@ doRemoteOpen (virConnectPtr conn,
/*FALLTHROUGH*/
/*FALLTHROUGH*/
case
trans_tcp
:
{
case
trans_tcp
:
{
/
/ http://people.redhat.com/drepper/userapi-ipv6.html
/
* http://people.redhat.com/drepper/userapi-ipv6.html */
struct
addrinfo
*
res
,
*
r
;
struct
addrinfo
*
res
,
*
r
;
struct
addrinfo
hints
;
struct
addrinfo
hints
;
int
saved_errno
=
EINVAL
;
int
saved_errno
=
EINVAL
;
...
@@ -656,8 +656,8 @@ doRemoteOpen (virConnectPtr conn,
...
@@ -656,8 +656,8 @@ doRemoteOpen (virConnectPtr conn,
tcp_connected:
tcp_connected:
freeaddrinfo
(
res
);
freeaddrinfo
(
res
);
/
/
NB. All versioning is done by the RPC headers, so we don't
/
*
NB. All versioning is done by the RPC headers, so we don't
// need to worry (at this point anyway) about versioning.
* need to worry (at this point anyway) about versioning. */
break
;
break
;
}
}
...
@@ -748,8 +748,8 @@ doRemoteOpen (virConnectPtr conn,
...
@@ -748,8 +748,8 @@ doRemoteOpen (virConnectPtr conn,
if
(
command
==
NULL
)
if
(
command
==
NULL
)
goto
out_of_memory
;
goto
out_of_memory
;
/
/
Generate the final command argv[] array.
/
*
Generate the final command argv[] array.
// ssh [-p $port] [-l $username] $hostname $netcat -U $sockname [NULL]
* ssh [-p $port] [-l $username] $hostname $netcat -U $sockname [NULL] */
if
(
VIR_ALLOC_N
(
cmd_argv
,
nr_args
)
<
0
)
if
(
VIR_ALLOC_N
(
cmd_argv
,
nr_args
)
<
0
)
goto
out_of_memory
;
goto
out_of_memory
;
...
@@ -2444,7 +2444,7 @@ remoteDomainSetMemoryParameters (virDomainPtr domain,
...
@@ -2444,7 +2444,7 @@ remoteDomainSetMemoryParameters (virDomainPtr domain,
do_error
=
0
;
do_error
=
0
;
for
(
i
=
0
;
i
<
nparams
;
++
i
)
{
for
(
i
=
0
;
i
<
nparams
;
++
i
)
{
/
/ call() will free this:
/
* call() will free this: */
args
.
params
.
params_val
[
i
].
field
=
strdup
(
params
[
i
].
field
);
args
.
params
.
params_val
[
i
].
field
=
strdup
(
params
[
i
].
field
);
if
(
args
.
params
.
params_val
[
i
].
field
==
NULL
)
{
if
(
args
.
params
.
params_val
[
i
].
field
==
NULL
)
{
virReportOOMError
();
virReportOOMError
();
...
@@ -3773,7 +3773,7 @@ remoteDomainSetSchedulerParameters (virDomainPtr domain,
...
@@ -3773,7 +3773,7 @@ remoteDomainSetSchedulerParameters (virDomainPtr domain,
do_error
=
0
;
do_error
=
0
;
for
(
i
=
0
;
i
<
nparams
;
++
i
)
{
for
(
i
=
0
;
i
<
nparams
;
++
i
)
{
/
/ call() will free this:
/
* call() will free this: */
args
.
params
.
params_val
[
i
].
field
=
strdup
(
params
[
i
].
field
);
args
.
params
.
params_val
[
i
].
field
=
strdup
(
params
[
i
].
field
);
if
(
args
.
params
.
params_val
[
i
].
field
==
NULL
)
{
if
(
args
.
params
.
params_val
[
i
].
field
==
NULL
)
{
virReportOOMError
();
virReportOOMError
();
...
...
src/test/test_driver.c
浏览文件 @
dc52cab1
...
@@ -538,7 +538,7 @@ static int testOpenDefault(virConnectPtr conn) {
...
@@ -538,7 +538,7 @@ static int testOpenDefault(virConnectPtr conn) {
memmove
(
&
privconn
->
nodeInfo
,
&
defaultNodeInfo
,
sizeof
(
defaultNodeInfo
));
memmove
(
&
privconn
->
nodeInfo
,
&
defaultNodeInfo
,
sizeof
(
defaultNodeInfo
));
/
/ Numa setup
/
* Numa setup */
privconn
->
numCells
=
2
;
privconn
->
numCells
=
2
;
for
(
u
=
0
;
u
<
2
;
++
u
)
{
for
(
u
=
0
;
u
<
2
;
++
u
)
{
privconn
->
cells
[
u
].
numCpus
=
8
;
privconn
->
cells
[
u
].
numCpus
=
8
;
...
...
src/util/macvtap.c
浏览文件 @
dc52cab1
...
@@ -436,7 +436,7 @@ int openTap(const char *ifname,
...
@@ -436,7 +436,7 @@ int openTap(const char *ifname,
}
}
while
(
1
)
{
while
(
1
)
{
/
/ may need to wait for udev to be done
/
* may need to wait for udev to be done */
tapfd
=
open
(
tapname
,
O_RDWR
);
tapfd
=
open
(
tapname
,
O_RDWR
);
if
(
tapfd
<
0
&&
retries
>
0
)
{
if
(
tapfd
<
0
&&
retries
>
0
)
{
retries
--
;
retries
--
;
...
@@ -1232,7 +1232,7 @@ doPortProfileOpCommon(bool nltarget_kernel,
...
@@ -1232,7 +1232,7 @@ doPortProfileOpCommon(bool nltarget_kernel,
status
==
PORT_VDP_RESPONSE_SUCCESS
)
{
status
==
PORT_VDP_RESPONSE_SUCCESS
)
{
break
;
break
;
}
else
if
(
status
==
PORT_PROFILE_RESPONSE_INPROGRESS
)
{
}
else
if
(
status
==
PORT_PROFILE_RESPONSE_INPROGRESS
)
{
/
/ keep trying...
/
* keep trying... */
}
else
{
}
else
{
virReportSystemError
(
EINVAL
,
virReportSystemError
(
EINVAL
,
_
(
"error %d during port-profile setlink on "
_
(
"error %d during port-profile setlink on "
...
@@ -1384,11 +1384,11 @@ getPhysfn(const char *linkdev,
...
@@ -1384,11 +1384,11 @@ getPhysfn(const char *linkdev,
if
(
virtfn
)
{
if
(
virtfn
)
{
/
/ XXX: if linkdev is SR-IOV VF, then set vf = VF index
/
* XXX: if linkdev is SR-IOV VF, then set vf = VF index */
/
/ XXX: and set linkdev = PF device
/
* XXX: and set linkdev = PF device */
/
/ XXX: need to use get_physical_function_linux() or
/
* XXX: need to use get_physical_function_linux() or */
/
/ XXX: something like that to get PF
/
* XXX: something like that to get PF */
/
/ XXX: device and figure out VF index
/
* XXX: device and figure out VF index */
rc
=
1
;
rc
=
1
;
...
...
src/util/macvtap.h
浏览文件 @
dc52cab1
...
@@ -47,7 +47,7 @@ struct _virVirtualPortProfileParams {
...
@@ -47,7 +47,7 @@ struct _virVirtualPortProfileParams {
union
{
union
{
struct
{
struct
{
uint8_t
managerID
;
uint8_t
managerID
;
uint32_t
typeID
;
/
/ 24 bit valid
uint32_t
typeID
;
/
* 24 bit valid */
uint8_t
typeIDVersion
;
uint8_t
typeIDVersion
;
unsigned
char
instanceID
[
VIR_UUID_BUFLEN
];
unsigned
char
instanceID
[
VIR_UUID_BUFLEN
];
}
virtPort8021Qbg
;
}
virtPort8021Qbg
;
...
...
src/vmx/vmx.c
浏览文件 @
dc52cab1
...
@@ -1097,7 +1097,7 @@ virVMXGatherSCSIControllers(virVMXContext *ctx, virDomainDefPtr def,
...
@@ -1097,7 +1097,7 @@ virVMXGatherSCSIControllers(virVMXContext *ctx, virDomainDefPtr def,
controller
=
def
->
controllers
[
i
];
controller
=
def
->
controllers
[
i
];
if
(
controller
->
type
!=
VIR_DOMAIN_CONTROLLER_TYPE_SCSI
)
{
if
(
controller
->
type
!=
VIR_DOMAIN_CONTROLLER_TYPE_SCSI
)
{
/
/ skip non-SCSI controllers
/
* skip non-SCSI controllers */
continue
;
continue
;
}
}
...
@@ -1114,7 +1114,7 @@ virVMXGatherSCSIControllers(virVMXContext *ctx, virDomainDefPtr def,
...
@@ -1114,7 +1114,7 @@ virVMXGatherSCSIControllers(virVMXContext *ctx, virDomainDefPtr def,
}
}
if
(
!
controllerHasDisksAttached
)
{
if
(
!
controllerHasDisksAttached
)
{
/
/ skip SCSI controllers without attached disks
/
* skip SCSI controllers without attached disks */
continue
;
continue
;
}
}
...
@@ -1122,8 +1122,8 @@ virVMXGatherSCSIControllers(virVMXContext *ctx, virDomainDefPtr def,
...
@@ -1122,8 +1122,8 @@ virVMXGatherSCSIControllers(virVMXContext *ctx, virDomainDefPtr def,
ctx
->
autodetectSCSIControllerModel
!=
NULL
)
{
ctx
->
autodetectSCSIControllerModel
!=
NULL
)
{
count
=
0
;
count
=
0
;
/
/
try to autodetect the SCSI controller model by collecting
/
*
try to autodetect the SCSI controller model by collecting
// SCSI controller model of all disks attached to this controller
* SCSI controller model of all disks attached to this controller */
for
(
k
=
0
;
k
<
def
->
ndisks
;
++
k
)
{
for
(
k
=
0
;
k
<
def
->
ndisks
;
++
k
)
{
disk
=
def
->
disks
[
k
];
disk
=
def
->
disks
[
k
];
...
@@ -1139,8 +1139,8 @@ virVMXGatherSCSIControllers(virVMXContext *ctx, virDomainDefPtr def,
...
@@ -1139,8 +1139,8 @@ virVMXGatherSCSIControllers(virVMXContext *ctx, virDomainDefPtr def,
}
}
}
}
/
/
autodetection fails when the disks attached to one controller
/
*
autodetection fails when the disks attached to one controller
// have inconsistent SCSI controller models
* have inconsistent SCSI controller models */
for
(
k
=
0
;
k
<
count
;
++
k
)
{
for
(
k
=
0
;
k
<
count
;
++
k
)
{
if
(
autodetectedModels
[
k
]
!=
autodetectedModels
[
0
])
{
if
(
autodetectedModels
[
k
]
!=
autodetectedModels
[
0
])
{
VMX_ERROR
(
VIR_ERR_INTERNAL_ERROR
,
VMX_ERROR
(
VIR_ERR_INTERNAL_ERROR
,
...
@@ -1379,7 +1379,7 @@ virVMXParseConfig(virVMXContext *ctx, virCapsPtr caps, const char *vmx)
...
@@ -1379,7 +1379,7 @@ virVMXParseConfig(virVMXContext *ctx, virCapsPtr caps, const char *vmx)
def
->
maxvcpus
=
def
->
vcpus
=
numvcpus
;
def
->
maxvcpus
=
def
->
vcpus
=
numvcpus
;
/* vmx:sched.cpu.affinity -> def:cpumask */
/* vmx:sched.cpu.affinity -> def:cpumask */
/
/ VirtualMachine:config.cpuAffinity.affinitySet
/
* NOTE: maps to VirtualMachine:config.cpuAffinity.affinitySet */
if
(
virVMXGetConfigString
(
conf
,
"sched.cpu.affinity"
,
&
sched_cpu_affinity
,
if
(
virVMXGetConfigString
(
conf
,
"sched.cpu.affinity"
,
&
sched_cpu_affinity
,
true
)
<
0
)
{
true
)
<
0
)
{
goto
cleanup
;
goto
cleanup
;
...
@@ -1856,21 +1856,6 @@ virVMXParseSCSIController(virConfPtr conf, int controller, bool *present,
...
@@ -1856,21 +1856,6 @@ virVMXParseSCSIController(virConfPtr conf, int controller, bool *present,
/*
struct _virDomainDiskDef {
int type; // partly done
int device; // done
int bus; // done
char *src; // done
char *dst; // done
char *driverName; // done
char *driverType;
int cachemode; // done
unsigned int readonly : 1;
unsigned int shared : 1;
int slotnum;
};*/
int
int
virVMXParseDisk
(
virVMXContext
*
ctx
,
virCapsPtr
caps
,
virConfPtr
conf
,
virVMXParseDisk
(
virVMXContext
*
ctx
,
virCapsPtr
caps
,
virConfPtr
conf
,
int
device
,
int
busType
,
int
controllerOrBus
,
int
unit
,
int
device
,
int
busType
,
int
controllerOrBus
,
int
unit
,
...
...
src/xen/xen_hypervisor.c
浏览文件 @
dc52cab1
...
@@ -2313,7 +2313,7 @@ xenHypervisorBuildCapabilities(virConnectPtr conn,
...
@@ -2313,7 +2313,7 @@ xenHypervisorBuildCapabilities(virConnectPtr conn,
1
,
1
)
==
NULL
)
1
,
1
)
==
NULL
)
goto
no_memory
;
goto
no_memory
;
/
/ In Xen 3.1.0, APIC is always on and can't be toggled
/
* In Xen 3.1.0, APIC is always on and can't be toggled */
if
(
virCapabilitiesAddGuestFeature
(
guest
,
if
(
virCapabilitiesAddGuestFeature
(
guest
,
"apic"
,
"apic"
,
1
,
1
,
...
...
src/xen/xend_internal.c
浏览文件 @
dc52cab1
...
@@ -795,7 +795,7 @@ xenDaemonOpen_tcp(virConnectPtr conn, const char *host, const char *port)
...
@@ -795,7 +795,7 @@ xenDaemonOpen_tcp(virConnectPtr conn, const char *host, const char *port)
priv
->
addrlen
=
0
;
priv
->
addrlen
=
0
;
memset
(
&
priv
->
addr
,
0
,
sizeof
(
priv
->
addr
));
memset
(
&
priv
->
addr
,
0
,
sizeof
(
priv
->
addr
));
/
/ http://people.redhat.com/drepper/userapi-ipv6.html
/
* http://people.redhat.com/drepper/userapi-ipv6.html */
memset
(
&
hints
,
0
,
sizeof
hints
);
memset
(
&
hints
,
0
,
sizeof
hints
);
hints
.
ai_socktype
=
SOCK_STREAM
;
hints
.
ai_socktype
=
SOCK_STREAM
;
hints
.
ai_flags
=
AI_ADDRCONFIG
;
hints
.
ai_flags
=
AI_ADDRCONFIG
;
...
@@ -1895,7 +1895,7 @@ xenDaemonParseSxprGraphicsNew(virConnectPtr conn,
...
@@ -1895,7 +1895,7 @@ xenDaemonParseSxprGraphicsNew(virConnectPtr conn,
port
=
xenStoreDomainGetVNCPort
(
conn
,
def
->
id
);
port
=
xenStoreDomainGetVNCPort
(
conn
,
def
->
id
);
xenUnifiedUnlock
(
priv
);
xenUnifiedUnlock
(
priv
);
/
/ Didn't find port entry in xenstore
/
* Didn't find port entry in xenstore */
if
(
port
==
-
1
)
{
if
(
port
==
-
1
)
{
const
char
*
str
=
sexpr_node
(
node
,
"device/vfb/vncdisplay"
);
const
char
*
str
=
sexpr_node
(
node
,
"device/vfb/vncdisplay"
);
int
val
;
int
val
;
...
@@ -3215,7 +3215,7 @@ xenDaemonDomainDumpXML(virDomainPtr domain, int flags, const char *cpus)
...
@@ -3215,7 +3215,7 @@ xenDaemonDomainDumpXML(virDomainPtr domain, int flags, const char *cpus)
priv
=
(
xenUnifiedPrivatePtr
)
domain
->
conn
->
privateData
;
priv
=
(
xenUnifiedPrivatePtr
)
domain
->
conn
->
privateData
;
if
(
domain
->
id
<
0
&&
priv
->
xendConfigVersion
<
3
)
{
if
(
domain
->
id
<
0
&&
priv
->
xendConfigVersion
<
3
)
{
/
/ fall-through to the next driver to handle
/
* fall-through to the next driver to handle */
return
(
NULL
);
return
(
NULL
);
}
}
...
@@ -4380,7 +4380,7 @@ xenDaemonDomainSetAutostart(virDomainPtr domain,
...
@@ -4380,7 +4380,7 @@ xenDaemonDomainSetAutostart(virDomainPtr domain,
goto
error
;
goto
error
;
}
}
/
/ Change the autostart value in place, then define the new sexpr
/
* Change the autostart value in place, then define the new sexpr */
VIR_FREE
(
autonode
->
u
.
s
.
car
->
u
.
value
);
VIR_FREE
(
autonode
->
u
.
s
.
car
->
u
.
value
);
autonode
->
u
.
s
.
car
->
u
.
value
=
(
autostart
?
strdup
(
"start"
)
autonode
->
u
.
s
.
car
->
u
.
value
=
(
autostart
?
strdup
(
"start"
)
:
strdup
(
"ignore"
));
:
strdup
(
"ignore"
));
...
...
src/xen/xs_internal.c
浏览文件 @
dc52cab1
...
@@ -1078,11 +1078,11 @@ int xenStoreDomainGetUUID(virConnectPtr conn,
...
@@ -1078,11 +1078,11 @@ int xenStoreDomainGetUUID(virConnectPtr conn,
snprintf
(
prop
,
199
,
"/local/domain/%d/vm"
,
id
);
snprintf
(
prop
,
199
,
"/local/domain/%d/vm"
,
id
);
prop
[
199
]
=
0
;
prop
[
199
]
=
0
;
/
/
This will return something like
/
*
This will return something like
// /vm/00000000-0000-0000-0000-000000000000
* /vm/00000000-0000-0000-0000-000000000000 */
uuidstr
=
xs_read
(
priv
->
xshandle
,
0
,
prop
,
&
len
);
uuidstr
=
xs_read
(
priv
->
xshandle
,
0
,
prop
,
&
len
);
/
/ remove "/vm/"
/
* remove "/vm/" */
ret
=
virUUIDParse
(
uuidstr
+
4
,
uuid
);
ret
=
virUUIDParse
(
uuidstr
+
4
,
uuid
);
VIR_FREE
(
uuidstr
);
VIR_FREE
(
uuidstr
);
...
@@ -1305,7 +1305,7 @@ retry:
...
@@ -1305,7 +1305,7 @@ retry:
}
}
nread
=
xenStoreDoListDomains
(
conn
,
priv
,
new_domids
,
new_domain_cnt
);
nread
=
xenStoreDoListDomains
(
conn
,
priv
,
new_domids
,
new_domain_cnt
);
if
(
nread
!=
new_domain_cnt
)
{
if
(
nread
!=
new_domain_cnt
)
{
/
/ mismatch. retry this read
/
* mismatch. retry this read */
VIR_FREE
(
new_domids
);
VIR_FREE
(
new_domids
);
goto
retry
;
goto
retry
;
}
}
...
@@ -1388,7 +1388,7 @@ retry:
...
@@ -1388,7 +1388,7 @@ retry:
}
}
nread
=
xenStoreDoListDomains
(
conn
,
priv
,
new_domids
,
new_domain_cnt
);
nread
=
xenStoreDoListDomains
(
conn
,
priv
,
new_domids
,
new_domain_cnt
);
if
(
nread
!=
new_domain_cnt
)
{
if
(
nread
!=
new_domain_cnt
)
{
/
/ mismatch. retry this read
/
* mismatch. retry this read */
VIR_FREE
(
new_domids
);
VIR_FREE
(
new_domids
);
goto
retry
;
goto
retry
;
}
}
...
...
src/xenapi/xenapi_driver.c
浏览文件 @
dc52cab1
...
@@ -1918,7 +1918,6 @@ int
...
@@ -1918,7 +1918,6 @@ int
call_func
(
const
void
*
data
,
size_t
len
,
void
*
user_handle
,
call_func
(
const
void
*
data
,
size_t
len
,
void
*
user_handle
,
void
*
result_handle
,
xen_result_func
result_func
)
void
*
result_handle
,
xen_result_func
result_func
)
{
{
//(void)user_handle;
struct
_xenapiPrivate
*
priv
=
(
struct
_xenapiPrivate
*
)
user_handle
;
struct
_xenapiPrivate
*
priv
=
(
struct
_xenapiPrivate
*
)
user_handle
;
#ifdef PRINT_XML
#ifdef PRINT_XML
printf
(
"
\n\n
---Data to server: -----------------------
\n
"
);
printf
(
"
\n\n
---Data to server: -----------------------
\n
"
);
...
...
src/xenapi/xenapi_driver_private.h
浏览文件 @
dc52cab1
...
@@ -27,7 +27,7 @@
...
@@ -27,7 +27,7 @@
# include <xen/api/xen_common.h>
# include <xen/api/xen_common.h>
# include "virterror_internal.h"
# include "virterror_internal.h"
/
/# define PRINT_XML
/
*# define PRINT_XML*/
# define VIR_FROM_THIS VIR_FROM_XENAPI
# define VIR_FROM_THIS VIR_FROM_XENAPI
# define LIBVIRT_MODELNAME_LEN (32)
# define LIBVIRT_MODELNAME_LEN (32)
# define xenapiSessionErrorHandler(conn, errNum, buf) \
# define xenapiSessionErrorHandler(conn, errNum, buf) \
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录