Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
openeuler
qemu
提交
b994c5bc
Q
qemu
项目概览
openeuler
/
qemu
通知
10
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
Q
qemu
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
提交
b994c5bc
编写于
7月 03, 2018
作者:
K
Kevin Wolf
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
test-bdrv-drain: Test bdrv_append() to drained node
Signed-off-by:
N
Kevin Wolf
<
kwolf@redhat.com
>
上级
4be6a6d1
变更
1
隐藏空白更改
内联
并排
Showing
1 changed file
with
43 addition
and
0 deletion
+43
-0
tests/test-bdrv-drain.c
tests/test-bdrv-drain.c
+43
-0
未找到文件。
tests/test-bdrv-drain.c
浏览文件 @
b994c5bc
...
...
@@ -1250,6 +1250,47 @@ static void test_detach_by_driver_cb(void)
test_detach_indirect
(
false
);
}
static
void
test_append_to_drained
(
void
)
{
BlockBackend
*
blk
;
BlockDriverState
*
base
,
*
overlay
;
BDRVTestState
*
base_s
,
*
overlay_s
;
blk
=
blk_new
(
BLK_PERM_ALL
,
BLK_PERM_ALL
);
base
=
bdrv_new_open_driver
(
&
bdrv_test
,
"base"
,
BDRV_O_RDWR
,
&
error_abort
);
base_s
=
base
->
opaque
;
blk_insert_bs
(
blk
,
base
,
&
error_abort
);
overlay
=
bdrv_new_open_driver
(
&
bdrv_test
,
"overlay"
,
BDRV_O_RDWR
,
&
error_abort
);
overlay_s
=
overlay
->
opaque
;
do_drain_begin
(
BDRV_DRAIN
,
base
);
g_assert_cmpint
(
base
->
quiesce_counter
,
==
,
1
);
g_assert_cmpint
(
base_s
->
drain_count
,
==
,
1
);
g_assert_cmpint
(
base
->
in_flight
,
==
,
0
);
/* Takes ownership of overlay, so we don't have to unref it later */
bdrv_append
(
overlay
,
base
,
&
error_abort
);
g_assert_cmpint
(
base
->
in_flight
,
==
,
0
);
g_assert_cmpint
(
overlay
->
in_flight
,
==
,
0
);
g_assert_cmpint
(
base
->
quiesce_counter
,
==
,
1
);
g_assert_cmpint
(
base_s
->
drain_count
,
==
,
1
);
g_assert_cmpint
(
overlay
->
quiesce_counter
,
==
,
1
);
g_assert_cmpint
(
overlay_s
->
drain_count
,
==
,
1
);
do_drain_end
(
BDRV_DRAIN
,
base
);
g_assert_cmpint
(
base
->
quiesce_counter
,
==
,
0
);
g_assert_cmpint
(
base_s
->
drain_count
,
==
,
0
);
g_assert_cmpint
(
overlay
->
quiesce_counter
,
==
,
0
);
g_assert_cmpint
(
overlay_s
->
drain_count
,
==
,
0
);
bdrv_unref
(
base
);
blk_unref
(
blk
);
}
int
main
(
int
argc
,
char
**
argv
)
{
int
ret
;
...
...
@@ -1308,6 +1349,8 @@ int main(int argc, char **argv)
g_test_add_func
(
"/bdrv-drain/detach/parent_cb"
,
test_detach_by_parent_cb
);
g_test_add_func
(
"/bdrv-drain/detach/driver_cb"
,
test_detach_by_driver_cb
);
g_test_add_func
(
"/bdrv-drain/attach/drain"
,
test_append_to_drained
);
ret
=
g_test_run
();
qemu_event_destroy
(
&
done_event
);
return
ret
;
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录