Hongjin Li
1ecda9c033
chore: kernel部件化
...
1、添加HPM包描述文件bundle.json
2、依赖的三方开源软件,由直接引用路径,改为import对应的gni文件,引用变量
Signed-off-by: Hongjin Li <lihongjin1@huawei.com>
Change-Id: Ice783c19a477626d422a37faf3d420c4965f8ea6
2022-01-20 16:44:34 +08:00
openharmony_ci
fe4082ca9e
!709 A核代码静态告警定期清理
...
Merge pull request !709 from wangchen/1112_codex
2021-11-16 06:47:22 +00:00
lnlan
9ba725c3d4
fix: A核代码静态告警定期清理
...
【背景】A核代码静态告警定期清理
【修改方案】
1,根据codex等工具分析结果,进行必要的规范等问题修改
【影响】
对现有的产品编译不会有影响。
re #I4I0O8
Signed-off-by: wangchen <253227059@qq.com>
2021-11-15 02:47:08 +00:00
kenneth
0f878febb7
chore: 修复社区反馈问题Percpu结构体注释错误
...
修复社区反馈问题Percpu结构体注释错误,排查下其他拼写错误。
close #I4GMLH
Signed-off-by: kenneth <zhushangyuan@huawei.com>
2021-11-10 10:20:33 +08:00
lnlan
2251b8a2d1
fix: 增加内核epoll系统调用
...
【背景】增加内核epoll系统调用适配musl接口并增加测试用例
【修改方案】
1, 删除musl仓的porting
2,内核实现epoll对应接口及注册系统调用
3,testsuit目录添加对应的用例
【影响】
对现有的产品编译不会有影响。
re #I4FXPT
Signed-off-by: wangchen <253227059@qq.com>
Change-Id: Ia97ea49067aa1ff47b8c1c83675ac75e75d25955
2021-11-05 08:17:43 +00:00
Far
c1c2be2a87
refactor: 文件系统Open性能优化
...
优化包括:
1. 提供VnodeLookupFullpath接口,如果路径是规范化的路径,则调用此接口可减少一次vfs_normalizepath接口的调用;
2. fatfs open钩子函数FIL和buffer同时malloc,减少一次malloc调用,同时去除不必要的数据写回;
3. 其他小细节的优化。
Close #I4E0CT
Signed-off-by: Far <yesiyuan2@huawei.com>
2021-10-15 11:59:38 +08:00
Leon Chan
e4a06623ce
fix: change the execFile field in TCB to execVnode
...
TEE需要借用TCB中的execFile来校验打开的文件,pagecache修改后,可执行程序在mmap之后,会被立即关闭,因此将execFile改为execVnode
close: #I4CLL9
Signed-off-by: Leon Chan <chenwei26@huawei.com>
2021-09-30 14:33:36 +08:00
Far
9ab3e351d3
fix: codex 清理
...
Close #I4BL3S
Signed-off-by: Far <yesiyuan2@huawei.com>
2021-09-27 14:43:28 +08:00
openharmony_ci
ecd9ca7781
!534 pagecache从filep改为使用vnode
...
Merge pull request !534 from LeonChan/pg
2021-09-15 03:51:50 +00:00
Leon Chan
38a6b804e9
feat: page cache backed by vnode instead of filep
...
1, change the owner of page to vnode
2, save the file path in vnode
close: #I44TBS
Signed-off-by: Leon Chan <chenwei26@huawei.com>
2021-09-14 15:31:33 +08:00
arvinzzz
b3d96d166c
refactor: 清理Makefile冗余项
...
清理Makefile冗余项,各模块Makefile里不需要再次引用公共路径,只需引用私有头文件路径
close: #I49MOO
Signed-off-by: arvinzzz <zhaotianyu9@huawei.com>
Change-Id: I2dd7189c866498896461f78bfed5444ae1d86876
2021-09-13 18:14:15 +08:00
openharmony_ci
8713997548
!617 syscall review bugfix
...
Merge pull request !617 from 野生毛霉君/master
2021-09-09 14:53:55 +00:00
mucor
214f44e935
fix: syscall review bugfix
...
close: #149BPF
Signed-off-by: mucor <mucorwang@gmail.com>
2021-09-09 15:19:03 +08:00
openharmony_ci
ba977dd5ab
!605 refactor: 内核目录结构整理
...
Merge pull request !605 from Zhaotianyu/0902dir_refactor
2021-09-09 01:23:33 +00:00
arvinzzz
33d0c1bd0b
refactor: 内核目录结构整理
...
1. 原kernel/common目录下属于内核拓展组件,统一移入kernel/extend管理
2. Kconfig分层,各模块自己的配置放到自己目录下管理
3. 原platform下不属于平台的公共代码抽到kernel/common下,只留板级链接脚本和一些编译脚本指向device目录下触发平台相关的编译
4. 对外公共头文件统一抽到对外include路径
5. 废弃宏,头文件清理
close: #I48KI4
Signed-off-by: arvinzzz <zhaotianyu9@huawei.com>
Change-Id: I0cf5ea81c92a8fa7b113da9cbdc8b7bc935f5aae
2021-09-08 16:36:28 +08:00
Guangyao Ma
f67c4dae51
feat: add sync() to vfs
...
新增sync方法,该方法每次调用,会遍历系统内所有的mount点,调用各个文件系统注册
的sync方法,完成对所有已挂载文件系统的sync操作。
close #I480HV
Signed-off-by: Guangyao Ma <guangyao.ma@outlook.com>
Change-Id: I57ced9c3f7685a448defd17ae56c842796b5668f
2021-09-08 15:41:52 +08:00
jason_gitee
98ca8441fe
feat: add liteos patch ability
...
Signed-off-by: jason_gitee <yangjie140@huawei.com>
2021-08-28 08:02:50 +00:00
wangchen
d16bfd005a
fix: A核告警消除
...
【背景】定期A核代码消除。
【修改方案】
1,根据工具扫描结果,对代码告警进行更改
【影响】
对现有的产品编译不会有影响。
re #I46KF6
Signed-off-by: wangchen <253227059@qq.com>
2021-08-20 18:09:04 +08:00
mucor
2db80ecb38
feat: vfs support sdcard hotplug
...
close: #I44WH1
Signed-off-by: mucor <mucorwang@gmail.com>
2021-08-17 14:56:41 +08:00
openharmony_ci
339e937a6a
!495 修复mqueue问题
...
Merge pull request !495 from lnlan/fix_mqueue_0803
2021-08-13 07:40:11 +00:00
openharmony_ci
9fa8d27c6c
!521 修复: 限制调用sync函数打印unsupport sync
...
Merge pull request !521 from phchang/fixsync_8
2021-08-13 02:04:30 +00:00
Guangyao Ma
27dca4d857
feat(vfs): vfs支持FD_CLOEXEC标记
...
首先,POSIX规范规定文件描述符需要支持close-on-exec属性,修改前的vfs不支持close-on-exec,当exec系列函数执行时,进程所有的文件将会被关闭(0,1,2也重新被打开)。但是,系统有些时候是不能在exec时关闭全部文件的,例如在执行exec之前,就需要重定向进程的某些文件描述符时(使用dup2),就希望该文件不被关闭,继续保持重定向属性,shell执行进程并重定向其标准输出到文件,这是我们经常做的事情。
BREAKING CHANGE:
执行exec类函数后,进程拥有的文件描述符情况发生变化:修改前,默认关闭所有的进程文件描述符,0,1,2重新打开;修改后,除非文件描述符拥有FD_CLOEXEC标记,否则该描述符不会被关闭。
re #I3U81W
Change-Id: I54e841ac88e9835ec23e97de0cbc906c4e11f5a4
Signed-off-by: Guangyao Ma <guangyao.ma@outlook.com>
2021-08-11 15:35:46 +08:00
lnlan
26ee8b836e
fix: 修复mqueue问题
...
【背景】
1.mqueue用例关于NFILE错误码压力测试中,不符合预期结果
2.mq_unlink对于fork出的mqueue不起效
3.已打开的mqueue,在fork后两进程共用一份mqpersonal不合理
【修改方案】
1. 确认是内核关于mqueue的fd_set定义位置不合理导致的,
将fd_set定义位置由mqarray结构体调未全局变量后,问题解决
2.不合理的unlink_ref++导致的,去除相关操作,使用mq_personal
链表判断何时需要删除
3.fork时内核复制一份mqpersonal
【影响】
对现有的产品编译不会有影响。
re #I43P4T
Signed-off-by: lanleinan <lanleinan@163.com>
Change-Id: I09f183cc3a88e5a65201dbc1fc4f4806f78971be
2021-08-10 07:55:13 +00:00
vcbchang
3bfa995a9d
fix:调用sync函数会打印出unsupport sync,但现在在fat文件系统下可以sync,这里做出修复
...
【背景】 当前调用sync函数会打印出unsupport sync,但实际上在fat文件系统下可以正常调用sync,而在其他文件系统下不可以,因此这里的实现不正确,故修改限制sync的打印
【修改方案】
删除musl/porting下的sync,使用原生musl下的函数,并把不支持的打印放到内核系统调用中
re #I446P5
Signed-off-by: vcbchang <vcbchang@qq.com>
Change-Id: Ideec24fb8d29263fd011af9428801d08000e17e5
2021-08-06 16:48:46 +08:00
wangchen
698756d1e6
fix: A核代码告警清零
...
【背景】定期A核代码告警清零。
【修改方案】
根据工具扫描结果,对代码告警进行更改。
【影响】
对现有的产品编译不会有影响。
re #I4378T
Signed-off-by: wangchen <253227059@qq.com>
2021-07-30 17:13:55 +08:00
Caoruihong
a8805a65aa
feat: add support for gn build system
...
add BUILD.gn for all kernel modules
Signed-off-by: Caoruihong <crh.cao@huawei.com>
Change-Id: I018446427bf64615f2596d47862b219659b58b34
2021-07-21 15:52:40 +08:00
Far
8729f6ee57
feat: 增加mount的MS_RDONLY标志的支持
...
增加mount的MS_RDONLY标志的支持,并修改vfs主要接口相关支持。
1. fatfs lseek接口在分区以MS_RDONLY方式和文件以只读打开时不再能够扩大文件的大小。
2. 直接在镜像中创建storage目录,而不是在挂载根文件系统时创建storage目录。
3. 增加了MS_RDONLY的测试用例。
Close #I3Z1W6
Signed-off-by: Far <yesiyuan2@huawei.com>
2021-07-20 16:21:08 +08:00
openharmony_ci
d7387508e3
!402 消除编译告警
...
Merge pull request !402 from x_xiny/master
2021-07-09 08:37:20 +00:00
x_xiny
e4ff04586f
fix:消除编译告警
...
【背景】
消除编译告警
【修改方案】
消除编译告警
re #I3ZC1R
Change-Id: I594d0f57e4cbbdb246a6bef1c978a38228123a34
Signed-off-by: x-xiny <1301913191@qq.com>
Change-Id: I1d75cdcdcf9d06ec28e541cdfea77300da7c6bb1
2021-07-08 20:30:33 +08:00
chenjing
56a95b9ec9
fix: 修复内核access chmod chown接口
...
1、修复内核的access chmod chown功能;
2、此三个接口的syscall直接调用内核态接口执行操作。
close #I3Z5L6
Signed-off-by: chenjing <chenjing139@huawei.com>
Change-Id: I301f00fb341252b697b04b9970db86f0e7f978df
2021-07-05 16:03:16 +08:00
mucor
56b8ecaf17
fix: add (void) to GetFileMappingList method
...
close: #I3XPXY
Signed-off-by: mucor <mucorwang@gmail.com>
2021-06-24 20:32:47 +08:00
mucor
3d1cf683f3
feat: add clear cache cmd to /proc/fs_cache
...
write "clear pathcahe" to clear pathcaches and vnodes
write "clear pagecache" to clear pagecaches
write "clear all" to clear both pathcaches and pagechaches
the cache in use will not be cleared
close: #I3XLPH
Signed-off-by: mucor <mucorwang@gmail.com>
2021-06-24 15:11:50 +08:00
mucor
231cb6be27
feat: add /proc/fs_cache to display cache info
...
add /proc/fs_cache to display vnode, path cache, page cache.
also change some bad virable name
close: #I3WWBD
Signed-off-by: mucor <mucorwang@gmail.com>
2021-06-22 14:53:17 +08:00
SimonLi
2f3d7efc24
回退 'Pull Request !342 : 增加/proc/fs_cache来显示文件系统缓存维测信息'
2021-06-21 21:33:52 +08:00
mucor
53c6d96c6f
feat: add /proc/fs_cache to display cache info
...
add /proc/fs_cache to display vnode, path cache, page cache.
also change some bad virable name
close: #I3WESD
Signed-off-by: mucor <mucorwang@gmail.com>
2021-06-21 16:11:06 +08:00
mucor
73a777777e
fix: remove redundant headfile
...
1.remove redundant headfile in kernel, such as:
compiler.h;debug.h;automount.h;inode.h;syslog.h;net.h;
2.split fs.h to file.h and driver.h
3.move vnode.h and path_cache.h to vfs/include
4.remove redundant interface and defines
close: #I3RTNR
Signed-off-by: mucor <mucorwang@gmail.com>
2021-06-19 17:32:47 +08:00
openharmony_ci
b91fabb76c
!292 新增link/symlink/readlink接口的系统调用及内核实现
...
Merge pull request !292 from JING/link
2021-06-10 13:02:04 +08:00
chenjing
6eddc869d3
feat: support link/symlink/readlink
...
新增link/symlink/readlink接口的系统调用及内核实现,当前仅支持jffs2文件系统。具体接口说明如下:
一、hard link
接口原型:
int link(const char *oldpath, const char *newpath);
int linkat(int olddirfd, const char *oldpath, int newdirfd, const char *newpath, int flags);
作用:
创建oldpath的硬链接,名为newpath。
功能说明:
1、newpath与oldpath必须在同一挂载分区内。
2、若newpath已存在,不会覆盖,错误码EEXIST。
3、oldpath必须为普通文件或者软链接文件。
4、如果oldpath是一个软链接文件,那么:
若调用link接口或者linkat(flags=0),创建出软链接文件的硬链接;
若调用linkat(flags = AT_SYMLINK_FOLLOW),创建出软链接所指向源文件的硬链接。
5、oldpath与newpath对应同一个文件,对oldpath与newpath任一名字的操作都是直接操作文件,没有“原始文件”的说法。
6、使用cp命令拷贝一个硬链接文件,生成文件的拷贝,新文件的nlink数为1。
7、删除oldpath或newpath,底层文件仍存在,可以通过另一个path访问。只有当两个path都删除之后,才会真正将文件删除,空间释放。
二、symbol link
接口原型:
int symlink(const char *target, const char *linkpath);
int symlinkat(const char *target, int newdirfd, const char *linkpath);
作用:
创建一个软链接文件linkpath,存储字符串target。
功能说明:
1、target可以为任意字符串(长度小于PATH_MAX)。
2、若linkpath文件名已存在,不会覆盖,错误码EEXIST。
3、用readlink函数可读取软链接的target内容。
4、软链接文件本身大小为target长度。
5、ls时软链接文件类型显示为 'l'。
6、symlink最大循环次数为CONFIG_FS_MAX_LNK_CNT(目前为40),超出则返回错误,错误码ELOOP。
7、使用cp命令拷贝一个软链接文件:
若target是一个文件:创建一个源文件的拷贝,类型为普通文件;
若target非文件:拷贝失败。
三、readlink
接口原型:
ssize_t readlink(const char *pathname, char *buf, size_t bufsiz);
ssize_t readlinkat(int dirfd, const char *pathname, char *buf, size_t bufsiz);
作用:
读取软链接文件存放的的target内容。
功能说明:
1、pathname必须为软链接文件,否则错误码EINVAL。
2、如果bufsiz小于target长度,则截断target。
close #I3Q0OD
Change-Id: I3864d6069b627b705a369e8e32dc1eb922dc0157
Signed-off-by: chenjing <chenjing139@huawei.com>
2021-06-09 16:39:41 +08:00
lzl
6352d6e1da
kernel adapter
...
Signed-off-by: lzl <sucer_fater@163.com>
2021-06-08 09:07:04 +00:00
openharmony_ci
1a3f3f54e7
!302 fix: Codex告警清零
...
Merge pull request !302 from Far/master
2021-06-08 08:48:48 +08:00
chenwei
101a55d119
fix: codex
...
1,VFS代码中不修改参数增加const修饰
2,fs_file_mapping.c: 增加安全函数的判空
3,path_cache.c: sizeof改为使用类型
4,fs_syscall.c: 对NULL解引用
5,VnodeLookup:冗余的判空,及不正确的判空
close: I3UMWD
Signed-off-by: yansira <yansira@hotmail.com>
2021-06-07 22:45:40 +08:00
Far
b5370af822
fix: codex clean
...
1. 修复可能对NULL指针解引用的场景
2. 将不修改内容的指针入参修改为const
3. 对getpgrp的返回值进行校验后再使用
4. 修复了局部变量未初始化的问题
Close #I3UOFN
Signed-off-by: Far <yesiyuan2@huawei.com>
2021-06-07 17:08:02 +08:00
openharmony_ci
a580754751
!295 修复删除/dev目录下的文件但是vnode number没有减小的问题
...
Merge pull request !295 from LeonChan/lc-bugfix-vnode
2021-06-04 21:50:32 +08:00
chenwei
4f514a16af
fix: the total used vnode number not increased after unlink a file under
...
/dev/
fix #I3TS1Y
Signed-off-by: yansira <yansira@hotmail.com>
2021-06-04 16:49:04 +08:00
arvinzzz
8cde768588
refactor: Refactored the kernel boot process and added a init framework
...
close: #I3I768
Change-Id: I4f801df4abe1a9afdf43391c28276e96a5e81513
2021-05-20 16:45:43 +08:00
zhOu
f76fa4a344
feature: support ipc copy fd to process
2021-05-11 14:56:09 +08:00
mucor
04bcb11c3c
fix:add vnode destory for unregister dev node
...
Change-Id: I2205bbf42e7c2339f81443ace6924b12f4fa1c09
2021-04-30 15:31:03 +08:00
mucor
749420308e
fix:shell cmd rm -r crash when open target dir failed
...
Change-Id: I1146ab12b02aeef3f9a2a0422ee45936f5e4c105
2021-04-29 16:52:13 +08:00
openharmony_ci
1d0a3f022b
!186 将VnodeInUseIter和VnodeFreeAll函数改为非递归
...
Merge pull request !186 from Far/dev
2021-04-29 10:04:50 +08:00
openharmony_ci
6467ebb2dd
!194 PathCacheMemoryDump内存占用统计错误
...
Merge pull request !194 from Far/master
2021-04-29 09:58:45 +08:00