Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
openeuler
libvirt
提交
b474952e
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,发现更多精彩内容 >>
提交
b474952e
编写于
7月 08, 2016
作者:
D
Daniel P. Berrange
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
lockd: convert to typesafe virConf accessors
Signed-off-by:
N
Daniel P. Berrange
<
berrange@redhat.com
>
上级
b9c8af4d
变更
1
显示空白变更内容
内联
并排
Showing
1 changed file
with
15 addition
and
46 deletion
+15
-46
src/locking/lock_driver_lockd.c
src/locking/lock_driver_lockd.c
+15
-46
未找到文件。
src/locking/lock_driver_lockd.c
浏览文件 @
b474952e
...
@@ -82,7 +82,7 @@ static virLockManagerLockDaemonDriverPtr driver;
...
@@ -82,7 +82,7 @@ static virLockManagerLockDaemonDriverPtr driver;
static
int
virLockManagerLockDaemonLoadConfig
(
const
char
*
configFile
)
static
int
virLockManagerLockDaemonLoadConfig
(
const
char
*
configFile
)
{
{
virConfPtr
conf
;
virConfPtr
conf
;
virConfValuePtr
p
;
int
ret
=
-
1
;
if
(
access
(
configFile
,
R_OK
)
==
-
1
)
{
if
(
access
(
configFile
,
R_OK
)
==
-
1
)
{
if
(
errno
!=
ENOENT
)
{
if
(
errno
!=
ENOENT
)
{
...
@@ -97,57 +97,26 @@ static int virLockManagerLockDaemonLoadConfig(const char *configFile)
...
@@ -97,57 +97,26 @@ static int virLockManagerLockDaemonLoadConfig(const char *configFile)
if
(
!
(
conf
=
virConfReadFile
(
configFile
,
0
)))
if
(
!
(
conf
=
virConfReadFile
(
configFile
,
0
)))
return
-
1
;
return
-
1
;
#define CHECK_TYPE(name, typ) if (p && p->type != (typ)) { \
if
(
virConfGetValueBool
(
conf
,
"auto_disk_leases"
,
&
driver
->
autoDiskLease
)
<
0
)
virReportError(VIR_ERR_INTERNAL_ERROR, \
goto
cleanup
;
"%s: %s: expected type " #typ, \
configFile, (name)); \
virConfFree(conf); \
return -1; \
}
p
=
virConfGetValue
(
conf
,
"auto_disk_leases"
);
CHECK_TYPE
(
"auto_disk_leases"
,
VIR_CONF_ULONG
);
if
(
p
)
driver
->
autoDiskLease
=
p
->
l
;
p
=
virConfGetValue
(
conf
,
"file_lockspace_dir"
);
if
(
virConfGetValueString
(
conf
,
"file_lockspace_dir"
,
&
driver
->
fileLockSpaceDir
)
<
0
)
CHECK_TYPE
(
"file_lockspace_dir"
,
VIR_CONF_STRING
);
goto
cleanup
;
if
(
p
&&
p
->
str
)
{
VIR_FREE
(
driver
->
fileLockSpaceDir
);
if
(
VIR_STRDUP
(
driver
->
fileLockSpaceDir
,
p
->
str
)
<
0
)
{
virConfFree
(
conf
);
return
-
1
;
}
}
p
=
virConfGetValue
(
conf
,
"lvm_lockspace_dir"
);
if
(
virConfGetValueString
(
conf
,
"lvm_lockspace_dir"
,
&
driver
->
lvmLockSpaceDir
)
<
0
)
CHECK_TYPE
(
"lvm_lockspace_dir"
,
VIR_CONF_STRING
);
goto
cleanup
;
if
(
p
&&
p
->
str
)
{
VIR_FREE
(
driver
->
lvmLockSpaceDir
);
if
(
VIR_STRDUP
(
driver
->
lvmLockSpaceDir
,
p
->
str
)
<
0
)
{
virConfFree
(
conf
);
return
-
1
;
}
}
p
=
virConfGetValue
(
conf
,
"scsi_lockspace_dir"
);
if
(
virConfGetValueString
(
conf
,
"scsi_lockspace_dir"
,
&
driver
->
scsiLockSpaceDir
)
<
0
)
CHECK_TYPE
(
"scsi_lockspace_dir"
,
VIR_CONF_STRING
);
goto
cleanup
;
if
(
p
&&
p
->
str
)
{
VIR_FREE
(
driver
->
scsiLockSpaceDir
);
if
(
VIR_STRDUP
(
driver
->
scsiLockSpaceDir
,
p
->
str
)
<
0
)
{
virConfFree
(
conf
);
return
-
1
;
}
}
p
=
virConfGetValue
(
conf
,
"require_lease_for_disks"
);
CHECK_TYPE
(
"require_lease_for_disks"
,
VIR_CONF_ULONG
);
if
(
p
)
driver
->
requireLeaseForDisks
=
p
->
l
;
else
driver
->
requireLeaseForDisks
=
!
driver
->
autoDiskLease
;
driver
->
requireLeaseForDisks
=
!
driver
->
autoDiskLease
;
if
(
virConfGetValueBool
(
conf
,
"require_lease_for_disks"
,
&
driver
->
requireLeaseForDisks
)
<
0
)
goto
cleanup
;
ret
=
0
;
cleanup:
virConfFree
(
conf
);
virConfFree
(
conf
);
return
0
;
return
ret
;
}
}
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录