Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
openeuler
libvirt
提交
20ffaf59
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,发现更多精彩内容 >>
提交
20ffaf59
编写于
3月 12, 2010
作者:
J
Jiri Denemark
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Wire protocol and dispatcher for virDomainMigrateSetMaxDowntime
上级
68f63673
变更
7
隐藏空白更改
内联
并排
Showing
7 changed file
with
119 addition
and
45 deletion
+119
-45
daemon/remote.c
daemon/remote.c
+29
-0
daemon/remote_dispatch_args.h
daemon/remote_dispatch_args.h
+1
-0
daemon/remote_dispatch_prototypes.h
daemon/remote_dispatch_prototypes.h
+8
-0
daemon/remote_dispatch_table.h
daemon/remote_dispatch_table.h
+5
-0
src/remote/remote_protocol.c
src/remote/remote_protocol.c
+13
-0
src/remote/remote_protocol.h
src/remote/remote_protocol.h
+54
-44
src/remote/remote_protocol.x
src/remote/remote_protocol.x
+9
-1
未找到文件。
daemon/remote.c
浏览文件 @
20ffaf59
...
@@ -5495,6 +5495,35 @@ remoteDispatchDomainAbortJob (struct qemud_server *server ATTRIBUTE_UNUSED,
...
@@ -5495,6 +5495,35 @@ remoteDispatchDomainAbortJob (struct qemud_server *server ATTRIBUTE_UNUSED,
}
}
static
int
remoteDispatchDomainMigrateSetMaxDowntime
(
struct
qemud_server
*
server
ATTRIBUTE_UNUSED
,
struct
qemud_client
*
client
ATTRIBUTE_UNUSED
,
virConnectPtr
conn
,
remote_message_header
*
hdr
ATTRIBUTE_UNUSED
,
remote_error
*
rerr
,
remote_domain_migrate_set_max_downtime_args
*
args
,
void
*
ret
ATTRIBUTE_UNUSED
)
{
virDomainPtr
dom
;
dom
=
get_nonnull_domain
(
conn
,
args
->
dom
);
if
(
dom
==
NULL
)
{
remoteDispatchConnError
(
rerr
,
conn
);
return
-
1
;
}
if
(
virDomainMigrateSetMaxDowntime
(
dom
,
args
->
downtime
,
args
->
flags
)
==
-
1
)
{
virDomainFree
(
dom
);
remoteDispatchConnError
(
rerr
,
conn
);
return
-
1
;
}
virDomainFree
(
dom
);
return
0
;
}
/*----- Helpers. -----*/
/*----- Helpers. -----*/
/* get_nonnull_domain and get_nonnull_network turn an on-wire
/* get_nonnull_domain and get_nonnull_network turn an on-wire
...
...
daemon/remote_dispatch_args.h
浏览文件 @
20ffaf59
...
@@ -141,3 +141,4 @@
...
@@ -141,3 +141,4 @@
remote_domain_get_job_info_args
val_remote_domain_get_job_info_args
;
remote_domain_get_job_info_args
val_remote_domain_get_job_info_args
;
remote_domain_abort_job_args
val_remote_domain_abort_job_args
;
remote_domain_abort_job_args
val_remote_domain_abort_job_args
;
remote_storage_vol_wipe_args
val_remote_storage_vol_wipe_args
;
remote_storage_vol_wipe_args
val_remote_storage_vol_wipe_args
;
remote_domain_migrate_set_max_downtime_args
val_remote_domain_migrate_set_max_downtime_args
;
daemon/remote_dispatch_prototypes.h
浏览文件 @
20ffaf59
...
@@ -378,6 +378,14 @@ static int remoteDispatchDomainMigratePrepareTunnel(
...
@@ -378,6 +378,14 @@ static int remoteDispatchDomainMigratePrepareTunnel(
remote_error
*
err
,
remote_error
*
err
,
remote_domain_migrate_prepare_tunnel_args
*
args
,
remote_domain_migrate_prepare_tunnel_args
*
args
,
void
*
ret
);
void
*
ret
);
static
int
remoteDispatchDomainMigrateSetMaxDowntime
(
struct
qemud_server
*
server
,
struct
qemud_client
*
client
,
virConnectPtr
conn
,
remote_message_header
*
hdr
,
remote_error
*
err
,
remote_domain_migrate_set_max_downtime_args
*
args
,
void
*
ret
);
static
int
remoteDispatchDomainPinVcpu
(
static
int
remoteDispatchDomainPinVcpu
(
struct
qemud_server
*
server
,
struct
qemud_server
*
server
,
struct
qemud_client
*
client
,
struct
qemud_client
*
client
,
...
...
daemon/remote_dispatch_table.h
浏览文件 @
20ffaf59
...
@@ -832,3 +832,8 @@
...
@@ -832,3 +832,8 @@
.
args_filter
=
(
xdrproc_t
)
xdr_remote_storage_vol_wipe_args
,
.
args_filter
=
(
xdrproc_t
)
xdr_remote_storage_vol_wipe_args
,
.
ret_filter
=
(
xdrproc_t
)
xdr_void
,
.
ret_filter
=
(
xdrproc_t
)
xdr_void
,
},
},
{
/* DomainMigrateSetMaxDowntime => 166 */
.
fn
=
(
dispatch_fn
)
remoteDispatchDomainMigrateSetMaxDowntime
,
.
args_filter
=
(
xdrproc_t
)
xdr_remote_domain_migrate_set_max_downtime_args
,
.
ret_filter
=
(
xdrproc_t
)
xdr_void
,
},
src/remote/remote_protocol.c
浏览文件 @
20ffaf59
...
@@ -3019,6 +3019,19 @@ xdr_remote_domain_abort_job_args (XDR *xdrs, remote_domain_abort_job_args *objp)
...
@@ -3019,6 +3019,19 @@ xdr_remote_domain_abort_job_args (XDR *xdrs, remote_domain_abort_job_args *objp)
return
TRUE
;
return
TRUE
;
}
}
bool_t
xdr_remote_domain_migrate_set_max_downtime_args
(
XDR
*
xdrs
,
remote_domain_migrate_set_max_downtime_args
*
objp
)
{
if
(
!
xdr_remote_nonnull_domain
(
xdrs
,
&
objp
->
dom
))
return
FALSE
;
if
(
!
xdr_uint64_t
(
xdrs
,
&
objp
->
downtime
))
return
FALSE
;
if
(
!
xdr_u_int
(
xdrs
,
&
objp
->
flags
))
return
FALSE
;
return
TRUE
;
}
bool_t
bool_t
xdr_remote_procedure
(
XDR
*
xdrs
,
remote_procedure
*
objp
)
xdr_remote_procedure
(
XDR
*
xdrs
,
remote_procedure
*
objp
)
{
{
...
...
src/remote/remote_protocol.h
浏览文件 @
20ffaf59
...
@@ -4,51 +4,51 @@
...
@@ -4,51 +4,51 @@
*/
*/
#ifndef _RP_H_RPCGEN
#ifndef _RP_H_RPCGEN
#
define _RP_H_RPCGEN
#define _RP_H_RPCGEN
#
include <rpc/rpc.h>
#include <rpc/rpc.h>
#
ifdef __cplusplus
#ifdef __cplusplus
extern
"C"
{
extern
"C"
{
#
endif
#endif
#
include "internal.h"
#include "internal.h"
#
include <arpa/inet.h>
#include <arpa/inet.h>
#
define REMOTE_MESSAGE_MAX 262144
#define REMOTE_MESSAGE_MAX 262144
#
define REMOTE_MESSAGE_HEADER_MAX 24
#define REMOTE_MESSAGE_HEADER_MAX 24
#
define REMOTE_MESSAGE_PAYLOAD_MAX 262120
#define REMOTE_MESSAGE_PAYLOAD_MAX 262120
#
define REMOTE_STRING_MAX 65536
#define REMOTE_STRING_MAX 65536
typedef
char
*
remote_nonnull_string
;
typedef
char
*
remote_nonnull_string
;
typedef
remote_nonnull_string
*
remote_string
;
typedef
remote_nonnull_string
*
remote_string
;
#
define REMOTE_DOMAIN_ID_LIST_MAX 16384
#define REMOTE_DOMAIN_ID_LIST_MAX 16384
#
define REMOTE_DOMAIN_NAME_LIST_MAX 1024
#define REMOTE_DOMAIN_NAME_LIST_MAX 1024
#
define REMOTE_CPUMAP_MAX 256
#define REMOTE_CPUMAP_MAX 256
#
define REMOTE_VCPUINFO_MAX 2048
#define REMOTE_VCPUINFO_MAX 2048
#
define REMOTE_CPUMAPS_MAX 16384
#define REMOTE_CPUMAPS_MAX 16384
#
define REMOTE_MIGRATE_COOKIE_MAX 256
#define REMOTE_MIGRATE_COOKIE_MAX 256
#
define REMOTE_NETWORK_NAME_LIST_MAX 256
#define REMOTE_NETWORK_NAME_LIST_MAX 256
#
define REMOTE_INTERFACE_NAME_LIST_MAX 256
#define REMOTE_INTERFACE_NAME_LIST_MAX 256
#
define REMOTE_DEFINED_INTERFACE_NAME_LIST_MAX 256
#define REMOTE_DEFINED_INTERFACE_NAME_LIST_MAX 256
#
define REMOTE_STORAGE_POOL_NAME_LIST_MAX 256
#define REMOTE_STORAGE_POOL_NAME_LIST_MAX 256
#
define REMOTE_STORAGE_VOL_NAME_LIST_MAX 1024
#define REMOTE_STORAGE_VOL_NAME_LIST_MAX 1024
#
define REMOTE_NODE_DEVICE_NAME_LIST_MAX 16384
#define REMOTE_NODE_DEVICE_NAME_LIST_MAX 16384
#
define REMOTE_NODE_DEVICE_CAPS_LIST_MAX 16384
#define REMOTE_NODE_DEVICE_CAPS_LIST_MAX 16384
#
define REMOTE_DOMAIN_SCHEDULER_PARAMETERS_MAX 16
#define REMOTE_DOMAIN_SCHEDULER_PARAMETERS_MAX 16
#
define REMOTE_NODE_MAX_CELLS 1024
#define REMOTE_NODE_MAX_CELLS 1024
#
define REMOTE_AUTH_SASL_DATA_MAX 65536
#define REMOTE_AUTH_SASL_DATA_MAX 65536
#
define REMOTE_AUTH_TYPE_LIST_MAX 20
#define REMOTE_AUTH_TYPE_LIST_MAX 20
#
define REMOTE_DOMAIN_MEMORY_STATS_MAX 1024
#define REMOTE_DOMAIN_MEMORY_STATS_MAX 1024
#
define REMOTE_DOMAIN_BLOCK_PEEK_BUFFER_MAX 65536
#define REMOTE_DOMAIN_BLOCK_PEEK_BUFFER_MAX 65536
#
define REMOTE_DOMAIN_MEMORY_PEEK_BUFFER_MAX 65536
#define REMOTE_DOMAIN_MEMORY_PEEK_BUFFER_MAX 65536
#
define REMOTE_SECURITY_MODEL_MAX VIR_SECURITY_MODEL_BUFLEN
#define REMOTE_SECURITY_MODEL_MAX VIR_SECURITY_MODEL_BUFLEN
#
define REMOTE_SECURITY_LABEL_MAX VIR_SECURITY_LABEL_BUFLEN
#define REMOTE_SECURITY_LABEL_MAX VIR_SECURITY_LABEL_BUFLEN
#
define REMOTE_SECURITY_DOI_MAX VIR_SECURITY_DOI_BUFLEN
#define REMOTE_SECURITY_DOI_MAX VIR_SECURITY_DOI_BUFLEN
#
define REMOTE_SECRET_VALUE_MAX 65536
#define REMOTE_SECRET_VALUE_MAX 65536
#
define REMOTE_SECRET_UUID_LIST_MAX 16384
#define REMOTE_SECRET_UUID_LIST_MAX 16384
#
define REMOTE_CPU_BASELINE_MAX 256
#define REMOTE_CPU_BASELINE_MAX 256
typedef
char
remote_uuid
[
VIR_UUID_BUFLEN
];
typedef
char
remote_uuid
[
VIR_UUID_BUFLEN
];
...
@@ -1710,8 +1710,15 @@ struct remote_domain_abort_job_args {
...
@@ -1710,8 +1710,15 @@ struct remote_domain_abort_job_args {
remote_nonnull_domain
dom
;
remote_nonnull_domain
dom
;
};
};
typedef
struct
remote_domain_abort_job_args
remote_domain_abort_job_args
;
typedef
struct
remote_domain_abort_job_args
remote_domain_abort_job_args
;
# define REMOTE_PROGRAM 0x20008086
# define REMOTE_PROTOCOL_VERSION 1
struct
remote_domain_migrate_set_max_downtime_args
{
remote_nonnull_domain
dom
;
uint64_t
downtime
;
u_int
flags
;
};
typedef
struct
remote_domain_migrate_set_max_downtime_args
remote_domain_migrate_set_max_downtime_args
;
#define REMOTE_PROGRAM 0x20008086
#define REMOTE_PROTOCOL_VERSION 1
enum
remote_procedure
{
enum
remote_procedure
{
REMOTE_PROC_OPEN
=
1
,
REMOTE_PROC_OPEN
=
1
,
...
@@ -1879,6 +1886,7 @@ enum remote_procedure {
...
@@ -1879,6 +1886,7 @@ enum remote_procedure {
REMOTE_PROC_DOMAIN_GET_JOB_INFO
=
163
,
REMOTE_PROC_DOMAIN_GET_JOB_INFO
=
163
,
REMOTE_PROC_DOMAIN_ABORT_JOB
=
164
,
REMOTE_PROC_DOMAIN_ABORT_JOB
=
164
,
REMOTE_PROC_STORAGE_VOL_WIPE
=
165
,
REMOTE_PROC_STORAGE_VOL_WIPE
=
165
,
REMOTE_PROC_DOMAIN_MIGRATE_SET_MAX_DOWNTIME
=
166
,
};
};
typedef
enum
remote_procedure
remote_procedure
;
typedef
enum
remote_procedure
remote_procedure
;
...
@@ -1896,7 +1904,7 @@ enum remote_message_status {
...
@@ -1896,7 +1904,7 @@ enum remote_message_status {
REMOTE_CONTINUE
=
2
,
REMOTE_CONTINUE
=
2
,
};
};
typedef
enum
remote_message_status
remote_message_status
;
typedef
enum
remote_message_status
remote_message_status
;
#
define REMOTE_MESSAGE_HEADER_XDR_LEN 4
#define REMOTE_MESSAGE_HEADER_XDR_LEN 4
struct
remote_message_header
{
struct
remote_message_header
{
u_int
prog
;
u_int
prog
;
...
@@ -1910,7 +1918,7 @@ typedef struct remote_message_header remote_message_header;
...
@@ -1910,7 +1918,7 @@ typedef struct remote_message_header remote_message_header;
/* the xdr functions */
/* the xdr functions */
#
if defined(__STDC__) || defined(__cplusplus)
#if defined(__STDC__) || defined(__cplusplus)
extern
bool_t
xdr_remote_nonnull_string
(
XDR
*
,
remote_nonnull_string
*
);
extern
bool_t
xdr_remote_nonnull_string
(
XDR
*
,
remote_nonnull_string
*
);
extern
bool_t
xdr_remote_string
(
XDR
*
,
remote_string
*
);
extern
bool_t
xdr_remote_string
(
XDR
*
,
remote_string
*
);
extern
bool_t
xdr_remote_uuid
(
XDR
*
,
remote_uuid
);
extern
bool_t
xdr_remote_uuid
(
XDR
*
,
remote_uuid
);
...
@@ -2189,12 +2197,13 @@ extern bool_t xdr_remote_cpu_baseline_ret (XDR *, remote_cpu_baseline_ret*);
...
@@ -2189,12 +2197,13 @@ extern bool_t xdr_remote_cpu_baseline_ret (XDR *, remote_cpu_baseline_ret*);
extern
bool_t
xdr_remote_domain_get_job_info_args
(
XDR
*
,
remote_domain_get_job_info_args
*
);
extern
bool_t
xdr_remote_domain_get_job_info_args
(
XDR
*
,
remote_domain_get_job_info_args
*
);
extern
bool_t
xdr_remote_domain_get_job_info_ret
(
XDR
*
,
remote_domain_get_job_info_ret
*
);
extern
bool_t
xdr_remote_domain_get_job_info_ret
(
XDR
*
,
remote_domain_get_job_info_ret
*
);
extern
bool_t
xdr_remote_domain_abort_job_args
(
XDR
*
,
remote_domain_abort_job_args
*
);
extern
bool_t
xdr_remote_domain_abort_job_args
(
XDR
*
,
remote_domain_abort_job_args
*
);
extern
bool_t
xdr_remote_domain_migrate_set_max_downtime_args
(
XDR
*
,
remote_domain_migrate_set_max_downtime_args
*
);
extern
bool_t
xdr_remote_procedure
(
XDR
*
,
remote_procedure
*
);
extern
bool_t
xdr_remote_procedure
(
XDR
*
,
remote_procedure
*
);
extern
bool_t
xdr_remote_message_type
(
XDR
*
,
remote_message_type
*
);
extern
bool_t
xdr_remote_message_type
(
XDR
*
,
remote_message_type
*
);
extern
bool_t
xdr_remote_message_status
(
XDR
*
,
remote_message_status
*
);
extern
bool_t
xdr_remote_message_status
(
XDR
*
,
remote_message_status
*
);
extern
bool_t
xdr_remote_message_header
(
XDR
*
,
remote_message_header
*
);
extern
bool_t
xdr_remote_message_header
(
XDR
*
,
remote_message_header
*
);
#
else
/* K&R C */
#else
/* K&R C */
extern
bool_t
xdr_remote_nonnull_string
();
extern
bool_t
xdr_remote_nonnull_string
();
extern
bool_t
xdr_remote_string
();
extern
bool_t
xdr_remote_string
();
extern
bool_t
xdr_remote_uuid
();
extern
bool_t
xdr_remote_uuid
();
...
@@ -2473,15 +2482,16 @@ extern bool_t xdr_remote_cpu_baseline_ret ();
...
@@ -2473,15 +2482,16 @@ extern bool_t xdr_remote_cpu_baseline_ret ();
extern
bool_t
xdr_remote_domain_get_job_info_args
();
extern
bool_t
xdr_remote_domain_get_job_info_args
();
extern
bool_t
xdr_remote_domain_get_job_info_ret
();
extern
bool_t
xdr_remote_domain_get_job_info_ret
();
extern
bool_t
xdr_remote_domain_abort_job_args
();
extern
bool_t
xdr_remote_domain_abort_job_args
();
extern
bool_t
xdr_remote_domain_migrate_set_max_downtime_args
();
extern
bool_t
xdr_remote_procedure
();
extern
bool_t
xdr_remote_procedure
();
extern
bool_t
xdr_remote_message_type
();
extern
bool_t
xdr_remote_message_type
();
extern
bool_t
xdr_remote_message_status
();
extern
bool_t
xdr_remote_message_status
();
extern
bool_t
xdr_remote_message_header
();
extern
bool_t
xdr_remote_message_header
();
#
endif
/* K&R C */
#endif
/* K&R C */
#
ifdef __cplusplus
#ifdef __cplusplus
}
}
#
endif
#endif
#endif
/* !_RP_H_RPCGEN */
#endif
/* !_RP_H_RPCGEN */
src/remote/remote_protocol.x
浏览文件 @
20ffaf59
...
@@ -1522,6 +1522,13 @@ struct remote_domain_abort_job_args {
...
@@ -1522,6 +1522,13 @@ struct remote_domain_abort_job_args {
};
};
struct
remote_domain_migrate_set_max_downtime_args
{
remote_nonnull_domain
dom
;
unsigned
hyper
downtime
;
unsigned
flags
;
};
/*----- Protocol. -----*/
/*----- Protocol. -----*/
/* Define the program number, protocol version and procedure numbers here. */
/* Define the program number, protocol version and procedure numbers here. */
...
@@ -1709,7 +1716,8 @@ enum remote_procedure {
...
@@ -1709,7 +1716,8 @@ enum remote_procedure {
REMOTE_PROC_CPU_BASELINE
=
162
,
REMOTE_PROC_CPU_BASELINE
=
162
,
REMOTE_PROC_DOMAIN_GET_JOB_INFO
=
163
,
REMOTE_PROC_DOMAIN_GET_JOB_INFO
=
163
,
REMOTE_PROC_DOMAIN_ABORT_JOB
=
164
,
REMOTE_PROC_DOMAIN_ABORT_JOB
=
164
,
REMOTE_PROC_STORAGE_VOL_WIPE
=
165
REMOTE_PROC_STORAGE_VOL_WIPE
=
165
,
REMOTE_PROC_DOMAIN_MIGRATE_SET_MAX_DOWNTIME
=
166
/*
/*
* Notice how the entries are grouped in sets of 10 ?
* Notice how the entries are grouped in sets of 10 ?
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录