Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
openeuler
libvirt
提交
6bd28890
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看板
提交
6bd28890
编写于
4月 11, 2017
作者:
P
Peter Krempa
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
virsh-domain-monitor: Use the virsh wrappers for getting XML to simplify code
Reuse virshDomainGetXML and virshDomainGetXMLFromDom.
上级
c8a637c7
变更
1
隐藏空白更改
内联
并排
Showing
1 changed file
with
5 addition
and
52 deletion
+5
-52
tools/virsh-domain-monitor.c
tools/virsh-domain-monitor.c
+5
-52
未找到文件。
tools/virsh-domain-monitor.c
浏览文件 @
6bd28890
...
...
@@ -63,7 +63,6 @@ virshGetDomainDescription(vshControl *ctl, virDomainPtr dom, bool title,
unsigned
int
flags
)
{
char
*
desc
=
NULL
;
char
*
domxml
=
NULL
;
virErrorPtr
err
=
NULL
;
xmlDocPtr
doc
=
NULL
;
xmlXPathContextPtr
ctxt
=
NULL
;
...
...
@@ -90,16 +89,9 @@ virshGetDomainDescription(vshControl *ctl, virDomainPtr dom, bool title,
}
/* fall back to xml */
/* get domain's xml description and extract the title/description */
if
(
!
(
domxml
=
virDomainGetXMLDesc
(
dom
,
flags
)))
{
vshError
(
ctl
,
"%s"
,
_
(
"Failed to retrieve domain XML"
));
if
(
virshDomainGetXMLFromDom
(
ctl
,
dom
,
flags
,
&
doc
,
&
ctxt
)
<
0
)
goto
cleanup
;
}
doc
=
virXMLParseStringCtxt
(
domxml
,
_
(
"(domain_definition)"
),
&
ctxt
);
if
(
!
doc
)
{
vshError
(
ctl
,
"%s"
,
_
(
"Couldn't parse domain XML"
));
goto
cleanup
;
}
if
(
title
)
desc
=
virXPathString
(
"string(./title[1])"
,
ctxt
);
else
...
...
@@ -109,7 +101,6 @@ virshGetDomainDescription(vshControl *ctl, virDomainPtr dom, bool title,
desc
=
vshStrdup
(
ctl
,
""
);
cleanup:
VIR_FREE
(
domxml
);
xmlXPathFreeContext
(
ctxt
);
xmlFreeDoc
(
doc
);
...
...
@@ -465,10 +456,8 @@ static const vshCmdOptDef opts_domblklist[] = {
static
bool
cmdDomblklist
(
vshControl
*
ctl
,
const
vshCmd
*
cmd
)
{
virDomainPtr
dom
;
bool
ret
=
false
;
unsigned
int
flags
=
0
;
char
*
xml
=
NULL
;
xmlDocPtr
xmldoc
=
NULL
;
xmlXPathContextPtr
ctxt
=
NULL
;
int
ndisks
;
...
...
@@ -485,15 +474,7 @@ cmdDomblklist(vshControl *ctl, const vshCmd *cmd)
details
=
vshCommandOptBool
(
cmd
,
"details"
);
if
(
!
(
dom
=
virshCommandOptDomain
(
ctl
,
cmd
,
NULL
)))
return
false
;
xml
=
virDomainGetXMLDesc
(
dom
,
flags
);
if
(
!
xml
)
goto
cleanup
;
xmldoc
=
virXMLParseStringCtxt
(
xml
,
_
(
"(domain_definition)"
),
&
ctxt
);
if
(
!
xmldoc
)
if
(
virshDomainGetXML
(
ctl
,
cmd
,
flags
,
&
xmldoc
,
&
ctxt
)
<
0
)
goto
cleanup
;
ndisks
=
virXPathNodeSet
(
"./devices/disk"
,
ctxt
,
&
disks
);
...
...
@@ -553,8 +534,6 @@ cmdDomblklist(vshControl *ctl, const vshCmd *cmd)
VIR_FREE
(
disks
);
xmlXPathFreeContext
(
ctxt
);
xmlFreeDoc
(
xmldoc
);
VIR_FREE
(
xml
);
virshDomainFree
(
dom
);
return
ret
;
}
...
...
@@ -579,10 +558,8 @@ static const vshCmdOptDef opts_domiflist[] = {
static
bool
cmdDomiflist
(
vshControl
*
ctl
,
const
vshCmd
*
cmd
)
{
virDomainPtr
dom
;
bool
ret
=
false
;
unsigned
int
flags
=
0
;
char
*
xml
=
NULL
;
xmlDocPtr
xmldoc
=
NULL
;
xmlXPathContextPtr
ctxt
=
NULL
;
int
ninterfaces
;
...
...
@@ -592,15 +569,7 @@ cmdDomiflist(vshControl *ctl, const vshCmd *cmd)
if
(
vshCommandOptBool
(
cmd
,
"inactive"
))
flags
|=
VIR_DOMAIN_XML_INACTIVE
;
if
(
!
(
dom
=
virshCommandOptDomain
(
ctl
,
cmd
,
NULL
)))
return
false
;
xml
=
virDomainGetXMLDesc
(
dom
,
flags
);
if
(
!
xml
)
goto
cleanup
;
xmldoc
=
virXMLParseStringCtxt
(
xml
,
_
(
"(domain_definition)"
),
&
ctxt
);
if
(
!
xmldoc
)
if
(
virshDomainGetXML
(
ctl
,
cmd
,
flags
,
&
xmldoc
,
&
ctxt
)
<
0
)
goto
cleanup
;
ninterfaces
=
virXPathNodeSet
(
"./devices/interface"
,
ctxt
,
&
interfaces
);
...
...
@@ -648,8 +617,6 @@ cmdDomiflist(vshControl *ctl, const vshCmd *cmd)
cleanup:
VIR_FREE
(
interfaces
);
virshDomainFree
(
dom
);
VIR_FREE
(
xml
);
xmlFreeDoc
(
xmldoc
);
xmlXPathFreeContext
(
ctxt
);
return
ret
;
...
...
@@ -686,13 +653,11 @@ static const vshCmdOptDef opts_domif_getlink[] = {
static
bool
cmdDomIfGetLink
(
vshControl
*
ctl
,
const
vshCmd
*
cmd
)
{
virDomainPtr
dom
;
const
char
*
iface
=
NULL
;
char
*
state
=
NULL
;
char
*
xpath
=
NULL
;
virMacAddr
macaddr
;
char
macstr
[
VIR_MAC_STRING_BUFLEN
]
=
""
;
char
*
desc
=
NULL
;
xmlDocPtr
xml
=
NULL
;
xmlXPathContextPtr
ctxt
=
NULL
;
xmlNodePtr
*
interfaces
=
NULL
;
...
...
@@ -703,21 +668,11 @@ cmdDomIfGetLink(vshControl *ctl, const vshCmd *cmd)
if
(
vshCommandOptStringReq
(
ctl
,
cmd
,
"interface"
,
&
iface
)
<
0
)
return
false
;
if
(
!
(
dom
=
virshCommandOptDomain
(
ctl
,
cmd
,
NULL
)))
return
false
;
if
(
vshCommandOptBool
(
cmd
,
"config"
))
flags
=
VIR_DOMAIN_XML_INACTIVE
;
if
(
!
(
desc
=
virDomainGetXMLDesc
(
dom
,
flags
)))
{
vshError
(
ctl
,
_
(
"Failed to get domain description xml"
));
if
(
virshDomainGetXML
(
ctl
,
cmd
,
flags
,
&
xml
,
&
ctxt
)
<
0
)
goto
cleanup
;
}
if
(
!
(
xml
=
virXMLParseStringCtxt
(
desc
,
_
(
"(domain_definition)"
),
&
ctxt
)))
{
vshError
(
ctl
,
_
(
"Failed to parse domain description xml"
));
goto
cleanup
;
}
/* normalize the mac addr */
if
(
virMacAddrParse
(
iface
,
&
macaddr
)
==
0
)
...
...
@@ -752,13 +707,11 @@ cmdDomIfGetLink(vshControl *ctl, const vshCmd *cmd)
ret
=
true
;
cleanup:
VIR_FREE
(
desc
);
VIR_FREE
(
state
);
VIR_FREE
(
interfaces
);
VIR_FREE
(
xpath
);
xmlXPathFreeContext
(
ctxt
);
xmlFreeDoc
(
xml
);
virshDomainFree
(
dom
);
return
ret
;
}
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录