Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
openeuler
libvirt
提交
326c0d41
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,发现更多精彩内容 >>
提交
326c0d41
编写于
4月 24, 2017
作者:
P
Peter Krempa
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
conf: Extract formatting of network disk source into separate function
上级
d2e6bef3
变更
1
显示空白变更内容
内联
并排
Showing
1 changed file
with
52 addition
and
47 deletion
+52
-47
src/conf/domain_conf.c
src/conf/domain_conf.c
+52
-47
未找到文件。
src/conf/domain_conf.c
浏览文件 @
326c0d41
...
...
@@ -20767,6 +20767,56 @@ virDomainSourceDefFormatSeclabel(virBufferPtr buf,
virDomainDiskSourceDefFormatSeclabel(buf, nseclabels, seclabels, flags, false);
}
static int
virDomainDiskSourceFormatNetwork(virBufferPtr buf,
virStorageSourcePtr src)
{
size_t n;
char *path = NULL;
virBufferAsprintf(buf, "<source protocol='%s'",
virStorageNetProtocolTypeToString(src->protocol));
if (src->volume) {
if (virAsprintf(&path, "%s%s", src->volume, src->path) < 0)
return -1;
}
virBufferEscapeString(buf, " name='%s'", path ? path : src->path);
VIR_FREE(path);
if (src->nhosts == 0 && !src->snapshot && !src->configFile) {
virBufferAddLit(buf, "/>\n");
} else {
virBufferAddLit(buf, ">\n");
virBufferAdjustIndent(buf, 2);
for (n = 0; n < src->nhosts; n++) {
virBufferAddLit(buf, "<host");
virBufferEscapeString(buf, " name='%s'", src->hosts[n].name);
virBufferEscapeString(buf, " port='%s'", src->hosts[n].port);
if (src->hosts[n].transport)
virBufferAsprintf(buf, " transport='%s'",
virStorageNetHostTransportTypeToString(src->hosts[n].transport));
virBufferEscapeString(buf, " socket='%s'", src->hosts[n].socket);
virBufferAddLit(buf, "/>\n");
}
virBufferEscapeString(buf, "<snapshot name='%s'/>\n", src->snapshot);
virBufferEscapeString(buf, "<config file='%s'/>\n", src->configFile);
virBufferAdjustIndent(buf, -2);
virBufferAddLit(buf, "</source>\n");
}
return 0;
}
static int
virDomainDiskSourceFormatInternal(virBufferPtr buf,
virStorageSourcePtr src,
...
...
@@ -20774,8 +20824,6 @@ virDomainDiskSourceFormatInternal(virBufferPtr buf,
unsigned int flags,
bool skipSeclabels)
{
size_t n;
char *path = NULL;
const char *startupPolicy = NULL;
if (policy)
...
...
@@ -20811,51 +20859,8 @@ virDomainDiskSourceFormatInternal(virBufferPtr buf,
break;
case VIR_STORAGE_TYPE_NETWORK:
virBufferAsprintf(buf, "<source protocol='%s'",
virStorageNetProtocolTypeToString(src->protocol));
if (src->volume) {
if (virAsprintf(&path, "%s%s", src->volume, src->path) < 0)
if (virDomainDiskSourceFormatNetwork(buf, src) < 0)
return -1;
}
virBufferEscapeString(buf, " name='%s'", path ? path : src->path);
VIR_FREE(path);
if (src->nhosts == 0 && !src->snapshot && !src->configFile) {
virBufferAddLit(buf, "/>\n");
} else {
virBufferAddLit(buf, ">\n");
virBufferAdjustIndent(buf, 2);
for (n = 0; n < src->nhosts; n++) {
virBufferAddLit(buf, "<host");
virBufferEscapeString(buf, " name='%s'",
src->hosts[n].name);
virBufferEscapeString(buf, " port='%s'",
src->hosts[n].port);
if (src->hosts[n].transport)
virBufferAsprintf(buf, " transport='%s'",
virStorageNetHostTransportTypeToString(src->hosts[n].transport));
virBufferEscapeString(buf, " socket='%s'",
src->hosts[n].socket);
virBufferAddLit(buf, "/>\n");
}
virBufferEscapeString(buf, "<snapshot name='%s'/>\n",
src->snapshot);
virBufferEscapeString(buf, "<config file='%s'/>\n",
src->configFile);
virBufferAdjustIndent(buf, -2);
virBufferAddLit(buf, "</source>\n");
}
break;
case VIR_STORAGE_TYPE_VOLUME:
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录