Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
openeuler
iSulad
提交
5b444124
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,发现更多精彩内容 >>
提交
5b444124
编写于
6月 18, 2020
作者:
G
gaohuatao
提交者:
lifeng68
7月 25, 2020
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
devmapper: modify return value format
Signed-off-by:
N
gaohuatao
<
gaohuatao@huawei.com
>
上级
ef5ab9b8
变更
4
展开全部
隐藏空白更改
内联
并排
Showing
4 changed file
with
671 addition
and
598 deletion
+671
-598
src/image/oci/storage/layer_store/graphdriver/devmapper/deviceset.c
...oci/storage/layer_store/graphdriver/devmapper/deviceset.c
+348
-348
src/image/oci/storage/layer_store/graphdriver/devmapper/driver_devmapper.c
...rage/layer_store/graphdriver/devmapper/driver_devmapper.c
+30
-25
src/image/oci/storage/layer_store/graphdriver/devmapper/wrapper_devmapper.c
...age/layer_store/graphdriver/devmapper/wrapper_devmapper.c
+293
-223
src/image/oci/storage/layer_store/graphdriver/devmapper/wrapper_devmapper.h
...age/layer_store/graphdriver/devmapper/wrapper_devmapper.h
+0
-2
未找到文件。
src/image/oci/storage/layer_store/graphdriver/devmapper/deviceset.c
浏览文件 @
5b444124
此差异已折叠。
点击以展开。
src/image/oci/storage/layer_store/graphdriver/devmapper/driver_devmapper.c
浏览文件 @
5b444124
...
...
@@ -115,13 +115,14 @@ int devmapper_rm_layer(const char *id, const struct graphdriver *driver)
}
if
(
!
has_device
(
id
,
driver
->
devset
))
{
return
0
;
DEBUG
(
"Device with id:%s is not exist"
,
id
);
goto
out
;
}
ret
=
delete_device
(
id
,
false
,
driver
->
devset
);
if
(
ret
!=
0
)
{
if
(
delete_device
(
id
,
false
,
driver
->
devset
)
!=
0
)
{
ret
=
-
1
;
ERROR
(
"failed to remove device %s"
,
id
);
return
re
t
;
goto
ou
t
;
}
mnt_parent_dir
=
util_path_join
(
driver
->
home
,
"mnt"
);
...
...
@@ -138,7 +139,11 @@ int devmapper_rm_layer(const char *id, const struct graphdriver *driver)
goto
out
;
}
ret
=
util_path_remove
(
mnt_point_dir
);
if
(
util_path_remove
(
mnt_point_dir
)
!=
0
)
{
ret
=
-
1
;
ERROR
(
"Remove path:%s failed"
,
mnt_point_dir
);
goto
out
;
}
out:
free
(
mnt_parent_dir
);
...
...
@@ -172,21 +177,22 @@ char *devmapper_mount_layer(const char *id, const struct graphdriver *driver,
goto
out
;
}
ret
=
util_mkdir_p
(
mnt_point_dir
,
DEFAULT_SECURE_DIRECTORY_MODE
);
if
(
ret
!=
0
)
{
if
(
util_mkdir_p
(
mnt_point_dir
,
DEFAULT_SECURE_DIRECTORY_MODE
)
!=
0
)
{
ret
=
-
1
;
ERROR
(
"Failed to mkdir path:%s"
,
mnt_point_dir
);
goto
out
;
}
DEBUG
(
"devmapper: start to mount container device"
);
ret
=
mount_device
(
id
,
mnt_point_dir
,
mount_opts
,
driver
->
devset
);
if
(
ret
!=
0
)
{
if
(
mount_device
(
id
,
mnt_point_dir
,
mount_opts
,
driver
->
devset
)
!=
0
)
{
ret
=
-
1
;
ERROR
(
"Mount device:%s to path:%s failed"
,
id
,
mnt_parent_dir
);
goto
out
;
}
rootfs
=
util_path_join
(
mnt_point_dir
,
"rootfs"
);
if
(
rootfs
==
NULL
)
{
ret
=
-
1
;
ERROR
(
"Failed to join devmapper rootfs %s"
,
mnt_point_dir
);
goto
out
;
}
...
...
@@ -246,9 +252,10 @@ int devmapper_umount_layer(const char *id, const struct graphdriver *driver)
goto
out
;
}
ret
=
unmount_device
(
id
,
mp
,
driver
->
devset
);
if
(
ret
!=
0
)
{
DEBUG
(
"devmapper: unmount %s failed"
,
mp
);
if
(
unmount_device
(
id
,
mp
,
driver
->
devset
)
!=
0
)
{
ret
=
-
1
;
ERROR
(
"devmapper: unmount %s failed"
,
mp
);
goto
out
;
}
out:
...
...
@@ -291,8 +298,9 @@ int devmapper_apply_diff(const char *id, const struct graphdriver *driver, const
mount_opts
=
util_common_calloc_s
(
sizeof
(
struct
driver_mount_opts
));
if
(
mount_opts
==
NULL
)
{
ret
=
-
1
;
ERROR
(
"devmapper: out of memory"
);
return
-
1
;
goto
out
;
}
layer_fs
=
devmapper_mount_layer
(
id
,
driver
,
mount_opts
);
...
...
@@ -303,15 +311,16 @@ int devmapper_apply_diff(const char *id, const struct graphdriver *driver, const
}
options
.
whiteout_format
=
OVERLAY_WHITEOUT_FORMATE
;
ret
=
archive_unpack
(
content
,
layer_fs
,
&
options
);
if
(
ret
!=
0
)
{
if
(
archive_unpack
(
content
,
layer_fs
,
&
options
)
!=
0
)
{
ret
=
-
1
;
ERROR
(
"devmapper: failed to unpack to :%s"
,
layer_fs
);
goto
out
;
}
if
(
devmapper_umount_layer
(
id
,
driver
))
{
if
(
devmapper_umount_layer
(
id
,
driver
)
!=
0
)
{
ERROR
(
"devmapper: failed to umount layer %s"
,
id
);
ret
=
-
1
;
goto
out
;
}
out:
...
...
@@ -336,8 +345,8 @@ int devmapper_get_layer_metadata(const char *id, const struct graphdriver *drive
goto
out
;
}
ret
=
export_device_metadata
(
&
dev_metadata
,
id
,
driver
->
devset
);
if
(
ret
!=
0
)
{
if
(
export_device_metadata
(
&
dev_metadata
,
id
,
driver
->
devset
)
!=
0
)
{
ret
=
-
1
;
ERROR
(
"Failed to export device metadata of device %s"
,
id
);
goto
out
;
}
...
...
@@ -517,21 +526,17 @@ out:
int
devmapper_clean_up
(
const
struct
graphdriver
*
driver
)
{
int
ret
=
0
;
if
(
driver
==
NULL
)
{
ERROR
(
"Invalid input param to cleanup devicemapper"
);
return
-
1
;
}
ret
=
device_set_shutdown
(
driver
->
devset
,
driver
->
home
);
if
(
ret
!=
0
)
{
if
(
device_set_shutdown
(
driver
->
devset
,
driver
->
home
)
!=
0
)
{
ERROR
(
"devmapper: shutdown device set failed root is %s"
,
driver
->
home
);
return
-
1
;
}
// Is it necessary to execute recursiveUmount()
// Is it necessary to execute recursiveUmount()?
return
umount
(
driver
->
home
);
}
...
...
src/image/oci/storage/layer_store/graphdriver/devmapper/wrapper_devmapper.c
浏览文件 @
5b444124
此差异已折叠。
点击以展开。
src/image/oci/storage/layer_store/graphdriver/devmapper/wrapper_devmapper.h
浏览文件 @
5b444124
...
...
@@ -82,8 +82,6 @@ int set_message(struct dm_task *dmt, const char *message);
int
set_sector
(
struct
dm_task
*
dmt
,
uint64_t
sector
);
int
set_cookie
(
struct
dm_task
*
dmt
,
uint32_t
*
cookie
,
uint16_t
flags
);
int
set_add_node
(
struct
dm_task
*
dmt
,
dm_add_node_t
add_node
);
int
set_ro
(
struct
dm_task
*
dmt
);
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录