Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
openeuler
anbox
提交
f59a768b
A
anbox
项目概览
openeuler
/
anbox
通知
24
Star
1
Fork
1
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
A
anbox
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
f59a768b
编写于
7月 04, 2016
作者:
S
Simon Fels
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Use writable and persistent bind mounts for data, cache and storage
上级
09ec800e
变更
4
隐藏空白更改
内联
并排
Showing
4 changed file
with
38 addition
and
10 deletion
+38
-10
src/anbox/cmds/run.cpp
src/anbox/cmds/run.cpp
+3
-5
src/anbox/config.cpp
src/anbox/config.cpp
+21
-0
src/anbox/config.h
src/anbox/config.h
+3
-1
src/anbox/daemon.cpp
src/anbox/daemon.cpp
+11
-4
未找到文件。
src/anbox/cmds/run.cpp
浏览文件 @
f59a768b
...
...
@@ -160,11 +160,9 @@ anbox::cmds::Run::Run(const BusFactory& bus_factory)
// A place where we can exchange files with the container
spec
.
bind_paths
.
insert
({
config
::
host_share_path
(),
config
::
container_share_path
()});
// FIXME(morphis): those directories should be really somewhere on our
// persistent data directory so we keep any runtime data accross restarts.
spec
.
temporary_dirs
.
push_back
(
"/data"
);
spec
.
temporary_dirs
.
push_back
(
"/cache"
);
spec
.
temporary_dirs
.
push_back
(
"/storage"
);
spec
.
bind_paths
.
insert
({
config
::
host_android_data_path
(),
"/data"
});
spec
.
bind_paths
.
insert
({
config
::
host_android_cache_path
(),
"/cache"
});
spec
.
bind_paths
.
insert
({
config
::
host_android_storage_path
(),
"/storage"
});
spec
.
temporary_dirs
.
push_back
(
"/dev/input"
);
...
...
src/anbox/config.cpp
浏览文件 @
f59a768b
...
...
@@ -46,5 +46,26 @@ std::string host_share_path() {
std
::
string
container_share_path
()
{
return
"/data/anbox-share"
;
}
std
::
string
host_android_data_path
()
{
static
std
::
string
path
;
if
(
path
.
length
()
==
0
)
path
=
utils
::
string_format
(
"%s/android-data"
,
data_path
());
return
path
;
}
std
::
string
host_android_cache_path
()
{
static
std
::
string
path
;
if
(
path
.
length
()
==
0
)
path
=
utils
::
string_format
(
"%s/android-cache"
,
data_path
());
return
path
;
}
std
::
string
host_android_storage_path
()
{
static
std
::
string
path
;
if
(
path
.
length
()
==
0
)
path
=
utils
::
string_format
(
"%s/android-storage"
,
data_path
());
return
path
;
}
}
// namespace config
}
// namespace anbox
src/anbox/config.h
浏览文件 @
f59a768b
...
...
@@ -25,7 +25,9 @@ namespace config {
std
::
string
data_path
();
std
::
string
host_share_path
();
std
::
string
container_share_path
();
std
::
string
host_android_data_path
();
std
::
string
host_android_cache_path
();
std
::
string
host_android_storage_path
();
}
// namespace config
}
// namespace anbox
...
...
src/anbox/daemon.cpp
浏览文件 @
f59a768b
...
...
@@ -54,10 +54,17 @@ catch(std::exception &err) {
}
void
Daemon
::
ensure_data_path
()
{
if
(
!
fs
::
is_directory
(
fs
::
path
(
config
::
data_path
())))
fs
::
create_directories
(
fs
::
path
(
config
::
data_path
()));
std
::
vector
<
std
::
string
>
paths
=
{
config
::
data_path
(),
config
::
host_share_path
(),
config
::
host_android_data_path
(),
config
::
host_android_cache_path
(),
config
::
host_android_storage_path
()
};
if
(
!
fs
::
is_directory
(
fs
::
path
(
config
::
host_share_path
())))
fs
::
create_directories
(
fs
::
path
(
config
::
host_share_path
()));
for
(
const
auto
&
path
:
paths
)
{
if
(
!
fs
::
is_directory
(
fs
::
path
(
path
)))
fs
::
create_directories
(
fs
::
path
(
config
::
host_share_path
()));
}
}
}
// namespace anbox
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录