Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
OpenHarmony
Third Party NuttX
提交
e1c32d59
T
Third Party NuttX
项目概览
OpenHarmony
/
Third Party NuttX
大约 1 年 前同步成功
通知
5
Star
19
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
T
Third Party NuttX
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
e1c32d59
编写于
4月 02, 2021
作者:
O
openharmony_ci
提交者:
Gitee
4月 02, 2021
浏览文件
操作
浏览文件
下载
差异文件
!11 VM模块裁剪
Merge pull request !11 from JerryH/vm
上级
6a9012c2
78c24f08
变更
4
隐藏空白更改
内联
并排
Showing
4 changed file
with
11 addition
and
3 deletion
+11
-3
fs/driver/fs_blockproxy.c
fs/driver/fs_blockproxy.c
+2
-0
fs/inode/fs_files.c
fs/inode/fs_files.c
+5
-3
fs/vfs/fs_open.c
fs/vfs/fs_open.c
+2
-0
fs/vfs/fs_unlink.c
fs/vfs/fs_unlink.c
+2
-0
未找到文件。
fs/driver/fs_blockproxy.c
浏览文件 @
e1c32d59
...
@@ -227,7 +227,9 @@ int block_proxy(FAR const char *blkdev, int oflags)
...
@@ -227,7 +227,9 @@ int block_proxy(FAR const char *blkdev, int oflags)
VnodeDrop
();
VnodeDrop
();
/* Block char device is no need for file mapping */
/* Block char device is no need for file mapping */
#ifdef LOSCFG_KERNEL_VM
(
void
)
remove_mapping
(
chardev
);
(
void
)
remove_mapping
(
chardev
);
#endif
/* Free the allocate character driver name and return the open file
/* Free the allocate character driver name and return the open file
* descriptor.
* descriptor.
...
...
fs/inode/fs_files.c
浏览文件 @
e1c32d59
...
@@ -507,7 +507,6 @@ int files_allocate(struct Vnode *vnode_ptr, int oflags, off_t pos, void *priv, i
...
@@ -507,7 +507,6 @@ int files_allocate(struct Vnode *vnode_ptr, int oflags, off_t pos, void *priv, i
static
int
files_close_internal
(
int
fd
,
LosProcessCB
*
processCB
)
static
int
files_close_internal
(
int
fd
,
LosProcessCB
*
processCB
)
{
{
int
ret
=
OK
;
int
ret
=
OK
;
struct
file
*
filep
=
NULL
;
struct
filelist
*
list
=
NULL
;
struct
filelist
*
list
=
NULL
;
struct
files_struct
*
process_files
=
NULL
;
struct
files_struct
*
process_files
=
NULL
;
...
@@ -544,15 +543,18 @@ static int files_close_internal(int fd, LosProcessCB *processCB)
...
@@ -544,15 +543,18 @@ static int files_close_internal(int fd, LosProcessCB *processCB)
/* The filep->f_refcount may not be zero here, when the filep is shared in parent-child processes.
/* The filep->f_refcount may not be zero here, when the filep is shared in parent-child processes.
so, upon closing the filep in current process, relevant region must be released immediately */
so, upon closing the filep in current process, relevant region must be released immediately */
#ifdef LOSCFG_KERNEL_VM
filep
=
&
list
->
fl_files
[
fd
];
struct
file
*
filep
=
&
list
->
fl_files
[
fd
];
OsVmmFileRegionFree
(
filep
,
processCB
);
OsVmmFileRegionFree
(
filep
,
processCB
);
#endif
list
->
fl_files
[
fd
].
f_refcount
--
;
list
->
fl_files
[
fd
].
f_refcount
--
;
if
(
list
->
fl_files
[
fd
].
f_refcount
==
0
)
if
(
list
->
fl_files
[
fd
].
f_refcount
==
0
)
{
{
#ifdef LOSCFG_KERNEL_VM
dec_mapping_nolock
(
filep
->
f_mapping
);
dec_mapping_nolock
(
filep
->
f_mapping
);
#endif
ret
=
_files_close
(
&
list
->
fl_files
[
fd
]);
ret
=
_files_close
(
&
list
->
fl_files
[
fd
]);
if
(
ret
==
OK
)
if
(
ret
==
OK
)
{
{
...
...
fs/vfs/fs_open.c
浏览文件 @
e1c32d59
...
@@ -305,7 +305,9 @@ int fp_open(char *fullpath, int oflags, mode_t mode)
...
@@ -305,7 +305,9 @@ int fp_open(char *fullpath, int oflags, mode_t mode)
/* we do not bother to handle the NULL scenario, if so, page-cache feature will not be used
/* we do not bother to handle the NULL scenario, if so, page-cache feature will not be used
* when we do the file fault */
* when we do the file fault */
#ifdef LOSCFG_KERNEL_VM
add_mapping
(
filep
,
fullpath
);
add_mapping
(
filep
,
fullpath
);
#endif
return
fd
;
return
fd
;
...
...
fs/vfs/fs_unlink.c
浏览文件 @
e1c32d59
...
@@ -140,7 +140,9 @@ int do_unlink(int dirfd, const char *pathname)
...
@@ -140,7 +140,9 @@ int do_unlink(int dirfd, const char *pathname)
VnodeFree
(
vnode
);
VnodeFree
(
vnode
);
VnodeDrop
();
VnodeDrop
();
#ifdef LOSCFG_KERNEL_VM
(
void
)
remove_mapping
(
fullpath
);
(
void
)
remove_mapping
(
fullpath
);
#endif
/* Successfully unlinked */
/* Successfully unlinked */
free
(
fullpath
);
free
(
fullpath
);
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录