Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
openeuler
iSulad
提交
0ca0f82e
I
iSulad
项目概览
openeuler
/
iSulad
通知
15
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
I
iSulad
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
0ca0f82e
编写于
8月 10, 2020
作者:
G
gaohuatao
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
devmapper: add deviceset free
Signed-off-by:
N
gaohuatao
<
gaohuatao@huawei.com
>
上级
98b4f46e
变更
6
显示空白变更内容
内联
并排
Showing
6 changed file
with
40 addition
and
4 deletion
+40
-4
src/daemon/modules/image/oci/storage/layer_store/graphdriver/devmapper/devices_constants.h
...age/layer_store/graphdriver/devmapper/devices_constants.h
+0
-1
src/daemon/modules/image/oci/storage/layer_store/graphdriver/devmapper/deviceset.c
...oci/storage/layer_store/graphdriver/devmapper/deviceset.c
+27
-0
src/daemon/modules/image/oci/storage/layer_store/graphdriver/devmapper/deviceset.h
...oci/storage/layer_store/graphdriver/devmapper/deviceset.h
+2
-0
src/daemon/modules/image/oci/storage/layer_store/graphdriver/devmapper/driver_devmapper.c
...rage/layer_store/graphdriver/devmapper/driver_devmapper.c
+8
-2
src/daemon/modules/image/oci/storage/layer_store/graphdriver/devmapper/metadata_store.c
...torage/layer_store/graphdriver/devmapper/metadata_store.c
+1
-1
src/daemon/modules/image/oci/storage/layer_store/graphdriver/devmapper/metadata_store.h
...torage/layer_store/graphdriver/devmapper/metadata_store.h
+2
-0
未找到文件。
src/daemon/modules/image/oci/storage/layer_store/graphdriver/devmapper/devices_constants.h
浏览文件 @
0ca0f82e
...
...
@@ -68,7 +68,6 @@ struct device_set {
char
*
base_device_filesystem
;
uint
nr_deleted_devices
;
// number of deleted devices
uint32_t
min_free_space_percent
;
char
*
xfs_nospace_retries
;
// max retries when xfs receives ENOSPC
int64_t
udev_wait_timeout
;
bool
user_base_size
;
...
...
src/daemon/modules/image/oci/storage/layer_store/graphdriver/devmapper/deviceset.c
浏览文件 @
0ca0f82e
...
...
@@ -3272,3 +3272,30 @@ free_out:
}
return
ret
;
}
void
free_device_set
(
struct
device_set
*
devset
)
{
if
(
devset
==
NULL
)
{
return
;
}
UTIL_FREE_AND_SET_NULL
(
devset
->
root
);
UTIL_FREE_AND_SET_NULL
(
devset
->
device_prefix
);
metadata_store_free
(
devset
->
meta_store
);
devset
->
meta_store
=
NULL
;
map_free
(
devset
->
device_id_map
);
devset
->
device_id_map
=
NULL
;
UTIL_FREE_AND_SET_NULL
(
devset
->
filesystem
);
pthread_rwlock_destroy
(
&
(
devset
->
devmapper_driver_rwlock
));
UTIL_FREE_AND_SET_NULL
(
devset
->
mount_options
);
util_free_array_by_len
(
devset
->
mkfs_args
,
devset
->
mkfs_args_len
);
UTIL_FREE_AND_SET_NULL
(
devset
->
data_device
);
UTIL_FREE_AND_SET_NULL
(
devset
->
metadata_device
);
UTIL_FREE_AND_SET_NULL
(
devset
->
thin_pool_device
);
free_image_devmapper_transaction
(
devset
->
metadata_trans
);
devset
->
metadata_trans
=
NULL
;
UTIL_FREE_AND_SET_NULL
(
devset
->
base_device_uuid
);
UTIL_FREE_AND_SET_NULL
(
devset
->
base_device_filesystem
);
free
(
devset
);
}
\ No newline at end of file
src/daemon/modules/image/oci/storage/layer_store/graphdriver/devmapper/deviceset.h
浏览文件 @
0ca0f82e
...
...
@@ -89,6 +89,8 @@ void free_devmapper_status(struct status *st);
int
device_set_shutdown
(
struct
device_set
*
devset
,
const
char
*
home
);
void
free_device_set
(
struct
device_set
*
devset
);
#ifdef __cplusplus
}
#endif
...
...
src/daemon/modules/image/oci/storage/layer_store/graphdriver/devmapper/driver_devmapper.c
浏览文件 @
0ca0f82e
...
...
@@ -545,6 +545,8 @@ out:
int
devmapper_clean_up
(
struct
graphdriver
*
driver
)
{
int
ret
=
0
;
if
(
driver
==
NULL
)
{
ERROR
(
"Invalid input param to cleanup devicemapper"
);
return
-
1
;
...
...
@@ -552,10 +554,14 @@ int devmapper_clean_up(struct graphdriver *driver)
if
(
device_set_shutdown
(
driver
->
devset
,
driver
->
home
)
!=
0
)
{
ERROR
(
"devmapper: shutdown device set failed root is %s"
,
driver
->
home
);
return
-
1
;
ret
=
-
1
;
goto
out
;
}
return
umount
(
driver
->
home
);
free_device_set
(
driver
->
devset
);
out:
return
ret
;
}
int
devmapper_repair_lowers
(
const
char
*
id
,
const
char
*
parent
,
const
struct
graphdriver
*
driver
)
...
...
src/daemon/modules/image/oci/storage/layer_store/graphdriver/devmapper/metadata_store.c
浏览文件 @
0ca0f82e
...
...
@@ -69,7 +69,7 @@ static void metadata_store_map_kvfree(void *key, void *value)
devmapper_device_info_ref_dec
((
devmapper_device_info_t
*
)
value
);
}
static
void
metadata_store_free
(
metadata_store_t
*
store
)
void
metadata_store_free
(
metadata_store_t
*
store
)
{
if
(
store
==
NULL
)
{
ERROR
(
"invalid argument"
);
...
...
src/daemon/modules/image/oci/storage/layer_store/graphdriver/devmapper/metadata_store.h
浏览文件 @
0ca0f82e
...
...
@@ -43,6 +43,8 @@ bool metadata_store_remove(const char *hash, metadata_store_t *meta_store);
char
**
metadata_store_list_hashes
(
metadata_store_t
*
meta_store
);
void
metadata_store_free
(
metadata_store_t
*
store
);
#ifdef __cplusplus
}
#endif
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录