Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
openeuler
libvirt
提交
320825b4
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看板
提交
320825b4
编写于
9月 18, 2014
作者:
J
John Ferlan
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
domain_conf: Change virDomainDiskDef 'rawio' to use virTristateBool
Adjust disk definition for 'rawio' to use the TristateBool logic
上级
8921d488
变更
4
隐藏空白更改
内联
并排
Showing
4 changed file
with
9 addition
and
17 deletion
+9
-17
src/conf/domain_conf.c
src/conf/domain_conf.c
+4
-12
src/conf/domain_conf.h
src/conf/domain_conf.h
+1
-2
src/qemu/qemu_domain.c
src/qemu/qemu_domain.c
+3
-2
src/qemu/qemu_process.c
src/qemu/qemu_process.c
+1
-1
未找到文件。
src/conf/domain_conf.c
浏览文件 @
320825b4
...
...
@@ -5954,12 +5954,7 @@ virDomainDiskDefParseXML(virDomainXMLOptionPtr xmlopt,
}
if (rawio) {
def->rawio_specified = true;
if (STREQ(rawio, "yes")) {
def->rawio = 1;
} else if (STREQ(rawio, "no")) {
def->rawio = 0;
} else {
if ((def->rawio = virTristateBoolTypeFromString(rawio)) <= 0) {
virReportError(VIR_ERR_XML_ERROR,
_("unknown disk rawio setting '%s'"),
rawio);
...
...
@@ -15828,12 +15823,9 @@ virDomainDiskDefFormat(virBufferPtr buf,
virBufferAsprintf(buf,
"<disk type='%s' device='%s'",
type, device);
if (def->rawio_specified) {
if (def->rawio == 1) {
virBufferAddLit(buf, " rawio='yes'");
} else if (def->rawio == 0) {
virBufferAddLit(buf, " rawio='no'");
}
if (def->rawio) {
virBufferAsprintf(buf, " rawio='%s'",
virTristateBoolTypeToString(def->rawio));
}
if (def->sgio)
...
...
src/conf/domain_conf.h
浏览文件 @
320825b4
...
...
@@ -663,8 +663,7 @@ struct _virDomainDiskDef {
int
startupPolicy
;
/* enum virDomainStartupPolicy */
bool
transient
;
virDomainDeviceInfo
info
;
bool
rawio_specified
;
int
rawio
;
/* no = 0, yes = 1 */
int
rawio
;
/* enum virTristateBool */
int
sgio
;
/* enum virDomainDeviceSGIO */
int
discard
;
/* enum virDomainDiskDiscard */
unsigned
int
iothread
;
/* unused = 0, > 0 specific thread # */
...
...
src/qemu/qemu_domain.c
浏览文件 @
320825b4
...
...
@@ -1945,8 +1945,9 @@ void qemuDomainObjCheckDiskTaint(virQEMUDriverPtr driver,
cfg
->
allowDiskFormatProbing
)
qemuDomainObjTaint
(
driver
,
obj
,
VIR_DOMAIN_TAINT_DISK_PROBING
,
logFD
);
if
(
disk
->
rawio
==
1
)
qemuDomainObjTaint
(
driver
,
obj
,
VIR_DOMAIN_TAINT_HIGH_PRIVILEGES
,
logFD
);
if
(
disk
->
rawio
==
VIR_TRISTATE_BOOL_YES
)
qemuDomainObjTaint
(
driver
,
obj
,
VIR_DOMAIN_TAINT_HIGH_PRIVILEGES
,
logFD
);
virObjectUnref
(
cfg
);
}
...
...
src/qemu/qemu_process.c
浏览文件 @
320825b4
...
...
@@ -4357,7 +4357,7 @@ int qemuProcessStart(virConnectPtr conn,
virDomainDeviceDef
dev
;
virDomainDiskDefPtr
disk
=
vm
->
def
->
disks
[
i
];
if
(
vm
->
def
->
disks
[
i
]
->
rawio
==
1
)
{
if
(
vm
->
def
->
disks
[
i
]
->
rawio
==
VIR_TRISTATE_BOOL_YES
)
{
#ifdef CAP_SYS_RAWIO
virCommandAllowCap
(
cmd
,
CAP_SYS_RAWIO
);
#else
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录