Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
openeuler
libvirt
提交
d455b407
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看板
提交
d455b407
编写于
6月 16, 2006
作者:
D
Daniel Veillard
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
* src/xen_internal.c src/xen_internal.h src/xs_internal.c: fix
a TODO in xs_internal.c pointed out by Philippe Berthault Daniel
上级
15b40d29
变更
4
隐藏空白更改
内联
并排
Showing
4 changed file
with
58 addition
and
7 deletion
+58
-7
ChangeLog
ChangeLog
+5
-0
src/xen_internal.c
src/xen_internal.c
+49
-0
src/xen_internal.h
src/xen_internal.h
+2
-1
src/xs_internal.c
src/xs_internal.c
+2
-6
未找到文件。
ChangeLog
浏览文件 @
d455b407
Fri Jun 16 15:08:42 EDT 2006 Daniel Veillard <veillard@redhat.com>
* src/xen_internal.c src/xen_internal.h src/xs_internal.c: fix
a TODO in xs_internal.c pointed out by Philippe Berthault
Fri Jun 16 12:44:02 EDT 2006 Daniel Veillard <veillard@redhat.com>
* src/libvirt.c src/xen_internal.c src/xend_internal.c: more driver
...
...
src/xen_internal.c
浏览文件 @
d455b407
...
...
@@ -639,3 +639,52 @@ xenHypervisorSetMaxMemory(virDomainPtr domain, unsigned long memory)
return
(
-
1
);
return
(
0
);
}
/**
* xenHypervisorCheckID:
* @domain: pointer to the domain block
* @info: the place where informations should be stored
*
* Do an hypervisor call to verify the domain ID is valid
*
* Returns 0 in case of success, -1 in case of error.
*/
int
xenHypervisorCheckID
(
virConnectPtr
conn
,
int
id
)
{
dom0_op_t
op
;
dom0_getdomaininfo_t
dominfo
;
int
ret
;
if
((
conn
->
handle
<
0
)
||
(
id
<
0
))
return
(
-
1
);
memset
(
&
dominfo
,
0
,
sizeof
(
dom0_getdomaininfo_t
));
if
(
mlock
(
&
dominfo
,
sizeof
(
dom0_getdomaininfo_t
))
<
0
)
{
virXenError
(
VIR_ERR_XEN_CALL
,
" locking"
,
sizeof
(
dom0_getdomaininfo_t
));
return
(
-
1
);
}
op
.
cmd
=
DOM0_GETDOMAININFOLIST
;
op
.
u
.
getdomaininfolist
.
first_domain
=
(
domid_t
)
id
;
op
.
u
.
getdomaininfolist
.
max_domains
=
1
;
op
.
u
.
getdomaininfolist
.
buffer
=
&
dominfo
;
op
.
u
.
getdomaininfolist
.
num_domains
=
1
;
dominfo
.
domain
=
id
;
ret
=
xenHypervisorDoOp
(
conn
->
handle
,
&
op
);
if
(
munlock
(
&
dominfo
,
sizeof
(
dom0_getdomaininfo_t
))
<
0
)
{
virXenError
(
VIR_ERR_XEN_CALL
,
" release"
,
sizeof
(
dom0_getdomaininfo_t
));
ret
=
-
1
;
}
if
(
ret
<
0
)
return
(
-
1
);
return
(
0
);
}
src/xen_internal.h
浏览文件 @
d455b407
...
...
@@ -36,7 +36,8 @@ int xenHypervisorGetDomainInfo (virDomainPtr domain,
virDomainInfoPtr
info
);
int
xenHypervisorSetMaxMemory
(
virDomainPtr
domain
,
unsigned
long
memory
);
int
xenHypervisorCheckID
(
virConnectPtr
conn
,
int
id
);
#ifdef __cplusplus
}
#endif
...
...
src/xs_internal.c
浏览文件 @
d455b407
...
...
@@ -27,6 +27,7 @@
#include "internal.h"
#include "driver.h"
#include "xs_internal.h"
#include "xen_internal.h"
/* for xenHypervisorCheckID */
#define XEN_HYPERVISOR_SOCKET "/proc/xen/privcmd"
...
...
@@ -256,16 +257,11 @@ static int
virConnectCheckStoreID
(
virConnectPtr
conn
,
int
id
)
{
if
(
conn
->
handle
>=
0
)
{
TODO
/*
dom0_getdomaininfo_t dominfo;
int
tmp
;
dominfo.domain = id;
tmp = xenHypervisorGetDomainInfo(conn->handle, id, &dominfo);
tmp
=
xenHypervisorCheckID
(
conn
,
id
);
if
(
tmp
<
0
)
return
(
-
1
);
*/
}
return
(
0
);
}
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录