Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
openeuler
libvirt
提交
2dd21783
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,发现更多精彩内容 >>
提交
2dd21783
编写于
6月 26, 2007
作者:
D
Daniel P. Berrange
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Move code dealing with global startup/shutdown/reload into driver.c
上级
9f25d22a
变更
4
隐藏空白更改
内联
并排
Showing
4 changed file
with
61 addition
and
69 deletion
+61
-69
ChangeLog
ChangeLog
+5
-0
qemud/driver.c
qemud/driver.c
+51
-27
qemud/driver.h
qemud/driver.h
+2
-0
qemud/qemud.c
qemud/qemud.c
+3
-42
未找到文件。
ChangeLog
浏览文件 @
2dd21783
Tue Jun 26 16:41:00 EST 2007 Daniel P. Berrange <berrange@redhat.com>
* qemud/driver.c, qemud/driver.h, qemud/qemud.c: Move code
handling global startup, shutdown & reload into driver.c
Tue Jun 26 16:41:00 EST 2007 Daniel P. Berrange <berrange@redhat.com>
* qemud/driver.c, qemud/driver.h, qemud/internal.h,
...
...
qemud/driver.c
浏览文件 @
2dd21783
...
...
@@ -93,6 +93,19 @@ static int qemudSetNonBlock(int fd) {
}
int
qemudStartup
(
struct
qemud_server
*
server
)
{
return
qemudScanConfigs
(
server
);
}
void
qemudReload
(
struct
qemud_server
*
server
)
{
qemudScanConfigs
(
server
);
if
(
server
->
iptables
)
{
qemudLog
(
QEMUD_INFO
,
"Reloading iptables rules"
);
iptablesReloadRules
(
server
->
iptables
);
}
}
void
qemudShutdown
(
struct
qemud_server
*
server
)
{
struct
qemud_vm
*
vm
;
struct
qemud_network
*
network
;
...
...
@@ -448,7 +461,7 @@ static int qemudNextFreeVNCPort(struct qemud_server *server ATTRIBUTE_UNUSED) {
int
qemudStartVMDaemon
(
struct
qemud_server
*
server
,
struct
qemud_vm
*
vm
)
{
char
**
argv
=
NULL
,
**
tmp
;
int
i
,
ret
=
-
1
;
int
i
;
char
logfile
[
PATH_MAX
];
if
(
qemudIsActiveVM
(
vm
))
{
...
...
@@ -524,24 +537,12 @@ int qemudStartVMDaemon(struct qemud_server *server,
server
->
ninactivevms
--
;
server
->
nactivevms
++
;
virEventAddHandle
(
vm
->
stdout
,
POLLIN
|
POLLERR
|
POLLHUP
,
qemudDispatchVMEvent
,
server
);
virEventAddHandle
(
vm
->
stderr
,
POLLIN
|
POLLERR
|
POLLHUP
,
qemudDispatchVMEvent
,
server
);
ret
=
0
;
if
(
qemudWaitForMonitor
(
server
,
vm
)
<
0
)
{
qemudShutdownVMDaemon
(
server
,
vm
);
ret
=
-
1
;
}
}
for
(
i
=
0
;
argv
[
i
]
;
i
++
)
free
(
argv
[
i
]);
free
(
argv
);
if
(
vm
->
tapfds
)
{
for
(
i
=
0
;
vm
->
tapfds
[
i
]
!=
-
1
;
i
++
)
{
close
(
vm
->
tapfds
[
i
]);
...
...
@@ -551,12 +552,30 @@ int qemudStartVMDaemon(struct qemud_server *server,
vm
->
tapfds
=
NULL
;
vm
->
ntapfds
=
0
;
}
for
(
i
=
0
;
argv
[
i
]
;
i
++
)
free
(
argv
[
i
]);
free
(
argv
);
return
ret
;
if
(
virEventAddHandle
(
vm
->
stdout
,
POLLIN
|
POLLERR
|
POLLHUP
,
qemudDispatchVMEvent
,
server
)
<
0
)
{
qemudShutdownVMDaemon
(
server
,
vm
);
return
-
1
;
}
if
(
virEventAddHandle
(
vm
->
stderr
,
POLLIN
|
POLLERR
|
POLLHUP
,
qemudDispatchVMEvent
,
server
)
<
0
)
{
qemudShutdownVMDaemon
(
server
,
vm
);
return
-
1
;
}
if
(
qemudWaitForMonitor
(
server
,
vm
)
<
0
)
{
qemudShutdownVMDaemon
(
server
,
vm
);
return
-
1
;
}
return
0
;
}
static
int
qemudVMData
(
struct
qemud_server
*
server
ATTRIBUTE_UNUSED
,
...
...
@@ -634,6 +653,9 @@ int qemudShutdownVMDaemon(struct qemud_server *server, struct qemud_vm *vm) {
server
->
nactivevms
--
;
server
->
ninactivevms
++
;
if
(
!
vm
->
configFile
[
0
])
qemudRemoveInactiveVM
(
server
,
vm
);
return
0
;
}
...
...
@@ -1096,6 +1118,9 @@ int qemudShutdownNetworkDaemon(struct qemud_server *server,
server
->
nactivenetworks
--
;
server
->
ninactivenetworks
++
;
if
(
!
network
->
configFile
[
0
])
qemudRemoveInactiveNetwork
(
server
,
network
);
return
0
;
}
...
...
@@ -1116,11 +1141,10 @@ static void qemudDispatchVMEvent(int fd, int events, void *opaque) {
if
(
!
vm
)
return
;
if
(
events
==
POLLIN
&&
qemudDispatchVMLog
(
server
,
vm
,
fd
)
==
0
)
return
;
qemudDispatchVMFailure
(
server
,
vm
,
fd
);
if
(
events
==
POLLIN
)
qemudDispatchVMLog
(
server
,
vm
,
fd
);
else
qemudDispatchVMFailure
(
server
,
vm
,
fd
);
}
int
qemudMonitorCommand
(
struct
qemud_server
*
server
ATTRIBUTE_UNUSED
,
...
...
qemud/driver.h
浏览文件 @
2dd21783
...
...
@@ -39,6 +39,8 @@ int qemudStartNetworkDaemon(struct qemud_server *server,
int
qemudShutdownNetworkDaemon
(
struct
qemud_server
*
server
,
struct
qemud_network
*
network
);
int
qemudStartup
(
struct
qemud_server
*
server
);
void
qemudReload
(
struct
qemud_server
*
server
);
void
qemudShutdown
(
struct
qemud_server
*
server
);
void
qemudReportError
(
struct
qemud_server
*
server
,
...
...
qemud/qemud.c
浏览文件 @
2dd21783
...
...
@@ -57,8 +57,6 @@
#include "../src/remote_internal.h"
#include "../src/conf.h"
#include "dispatch.h"
#include "conf.h"
#include "iptables.h"
#include "driver.h"
#include "event.h"
...
...
@@ -209,12 +207,7 @@ static void qemudDispatchSignalEvent(int fd ATTRIBUTE_UNUSED,
case
SIGHUP
:
qemudLog
(
QEMUD_INFO
,
"Reloading configuration on SIGHUP"
);
if
(
!
remote
)
{
ret
=
qemudScanConfigs
(
server
);
if
(
server
->
iptables
)
{
qemudLog
(
QEMUD_INFO
,
"Reloading iptables rules"
);
iptablesReloadRules
(
server
->
iptables
);
}
qemudReload
(
server
);
}
break
;
...
...
@@ -733,7 +726,7 @@ static struct qemud_server *qemudInitialize(int sigread) {
goto
cleanup
;
if
(
!
remote
)
/* qemud only */
{
if
(
qemudS
canConfigs
(
server
)
<
0
)
{
if
(
qemudS
tartup
(
server
)
<
0
)
{
goto
cleanup
;
}
}
else
/* remote only */
{
...
...
@@ -1491,37 +1484,7 @@ static void qemudDispatchServerEvent(int fd, int events, void *opaque) {
}
static
void
qemudCleanupInactive
(
struct
qemud_server
*
server
)
{
struct
qemud_vm
*
vm
=
server
->
vms
;
struct
qemud_network
*
network
=
server
->
networks
;
/* Cleanup any VMs which shutdown & dont have an associated
config file */
while
(
vm
)
{
struct
qemud_vm
*
next
=
vm
->
next
;
if
(
!
qemudIsActiveVM
(
vm
)
&&
!
vm
->
configFile
[
0
])
qemudRemoveInactiveVM
(
server
,
vm
);
vm
=
next
;
}
/* Cleanup any networks too */
while
(
network
)
{
struct
qemud_network
*
next
=
network
->
next
;
if
(
!
qemudIsActiveNetwork
(
network
)
&&
!
network
->
configFile
[
0
])
qemudRemoveInactiveNetwork
(
server
,
network
);
network
=
next
;
}
return
;
}
static
int
qemudOneLoop
(
struct
qemud_server
*
server
)
{
static
int
qemudOneLoop
(
struct
qemud_server
*
server
ATTRIBUTE_UNUSED
)
{
sig_atomic_t
errors
;
if
(
virEventRunOnce
()
<
0
)
...
...
@@ -1537,8 +1500,6 @@ static int qemudOneLoop(struct qemud_server *server) {
return
-
1
;
}
qemudCleanupInactive
(
server
);
return
0
;
}
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录