openharmony_ci
fa142daffb
回退 'Pull Request !938 : 修复文件系统不合理的锁操作'
2022-12-19 08:57:11 +00:00
wangchen
0a03a4d875
fix: open接口内存泄漏修复
...
方案描述:
1, 修改路径正确时打开失败可能的异常
fix #I66KGT
Signed-off-by: wangchen <wangchen240@huawei.com>
2022-12-17 08:16:12 +00:00
openharmony_ci
2a70466456
!963 修复文件系统close中的不合理操作
...
Merge pull request !963 from Far/NFILE
2022-12-16 03:12:42 +00:00
Far
59ecf4cae8
fix: 修复close接口中无法正常关闭文件的问题
...
1. close未考虑保留描述符0、1和2,导致fd合法性判断出现错误,这会导致
上限附近的fd不能被正常的关闭
2. 释放file结构体时未在锁的保护中进行,可能存在问题
fix #I65U8S
Signed-off-by: Far <yesiyuan2@huawei.com>
Change-Id: Iaa03a70e18fcb352ca3b99232f50b43d8b13ecf0
2022-12-16 10:53:03 +08:00
Far
9038b6522e
fix: 修复文件系统不合理的锁操作
...
1. 移除了fatfs和littlefs中冗余的加锁操作。
2. 增加了配置选项FS_LOCK_TIMEOUT(宏LOSCFG_FS_LOCK_TIMEOUT),提供文件
系统锁超时判定能力。
3. 新增对外接口LOS_FsLock()和LOS_FsUnlock()接口,提供HAL层与文件系统的
互斥操作。
BREAKING CHANGE:
修复文件系统不合理的锁操作
新增API:
int LOS_FsLock(void)
int LOS_FsUnlock(void)
新增配置项:
LOSCFG_FS_LOCK_TIMEOUT(menuconfig FS_LOCK_TIMEOUT)
fix #I6355A
Signed-off-by: Far <yesiyuan2@huawei.com>
Change-Id: Ia980abfac0ee761088313496c7e3c3e9568450b3
2022-12-16 10:42:03 +08:00
arvinzzz
98da8bbdfb
refactor: vfs opt
...
1. vfs重构优化,统一fs模块的对外接口,减少不必要的冗余调用,由fs组件直接提供posix对外接口
2. vfs与libc关系整理
3. fs接口实现规范化
BREAKING CHANGE:
删除API:
int LOS_Open(const char *path, int flags, ...);
int LOS_Close(int fd);
ssize_t LOS_Read(int fd, void *buff, size_t bytes);
ssize_t LOS_Write(int fd, const void *buff, size_t bytes);
off_t LOS_Lseek(int fd, off_t off, int whence);
int LOS_Stat(const char *path, struct stat *stat);
int LOS_Statfs(const char *path, struct statfs *buf);
int LOS_Unlink(const char *path);
int LOS_Rename(const char *oldpath, const char *newpath);
int LOS_Fsync(int fd);
DIR *LOS_Opendir(const char *path);
struct dirent *LOS_Readdir(DIR *dir);
int LOS_Closedir(DIR *dir);
int LOS_Mkdir(const char *path, mode_t mode);
int LOS_Rmdir(const char *path);
int LOS_Lstat(const char *path, struct stat *buffer);
int LOS_Fstat(int fd, struct stat *buf);
int LOS_Fcntl(int fd, int cmd, ...);
int LOS_Ioctl(int fd, int req, ...);
ssize_t LOS_Readv(int fd, const struct iovec *iovBuf, int iovcnt);
ssize_t LOS_Writev(int fd, const struct iovec *iovBuf, int iovcnt);
ssize_t LOS_Pread(int fd, void *buff, size_t bytes, off_t off);
ssize_t LOS_Pwrite(int fd, const void *buff, size_t bytes, off_t off);
int LOS_Isatty(int fd);
int LOS_Access(const char *path, int amode);
int LOS_Ftruncate(int fd, off_t length);
int LOS_FsUmount(const char *target);
int LOS_FsUmount2(const char *target, int flag);
int LOS_FsMount(const char *source, const char *target,
const char *fsType, unsigned long mountflags,
const void *data);
int OsFcntl(int fd, int cmd, va_list ap);
int OsIoctl(int fd, int req, va_list ap);
Close #I65MNQ
Signed-off-by: arvinzzz <zhaotianyu9@huawei.com>
Change-Id: I3d16852ffb87ab061c22b22f5873eba384842101
2022-12-13 16:56:18 +08:00
Hongjin Li
a3ce436841
fix: 提供CONFIG_NFILE_DESCRIPTORS宏标识最大可打开fd数量
...
提供CONFIG_NFILE_DESCRIPTORS宏,标识最大可打开fd数量。
提供FAT_MAX_OPEN_FILES宏,标识FAT文件系统中最大可打开fd数量。
如果只有FAT文件系统,那么CONFIG_NFILE_DESCRIPTORS等于FAT_MAX_OPEN_FILES。
如果有多个文件系统,比如fat+little+yaffs,那么CONFIG_NFILE_DESCRIPTORS应该定义为多个文件系统可打开fd数量之和。
BREAKING CHANGE:
对外提供的CONFIG_NFILE_DESCRIPTORS宏,用来标识最大可打开fd数量。
开发者可以在target_config.h中自定义CONFIG_NFILE_DESCRIPTORS和FAT_MAX_OPEN_FILES宏。
Close #I62WDU
Signed-off-by: Hongjin Li <lihongjin1@huawei.com>
2022-12-06 10:11:13 +08:00
openharmony_ci
795c2db917
!933 fs增加注册接口
...
Merge pull request !933 from wangchen/1124_m
2022-12-01 06:18:16 +00:00
wangchen
2f334bed21
feat: fs增加注册接口
...
方案描述:
增加注册机制, 并增加重复注册判断
BREAKING CHANGE:
fs增加注册接口
新增API:
int LOS_FsRegister(const char *fsType, const struct MountOps *fsMops,
const struct FileOps *fsFops, const struct FsManagement *fsMgt);
fix #I611L2
Signed-off-by: wangchen <wangchen240@huawei.com>
https://gitee.com/openharmony/kernel_liteos_m/issues/I611L2
2022-12-01 02:50:05 +00:00
Hongjin Li
a859329f28
fix: 使用LOSCFG_FS_FREE_HOOK释放内存
...
文件系统中使用LOSCFG_FS_FREE_HOOK代替free()来释放内存。
close #I6412J
Signed-off-by: Hongjin Li <lihongjin1@huawei.com>
2022-12-01 09:33:32 +08:00
openharmony_ci
68b8deea89
!937 添加MAX_OPEN_DIRS宏,标识最大可打开dir数量
...
Merge pull request !937 from Hongjin Li/max_open_dirs
2022-11-29 11:38:36 +00:00
Hongjin Li
a288718c2c
fix: 添加LOSCFG_MAX_OPEN_DIRS标识最大可打开dir数量
...
提供LOSCFG_MAX_OPEN_DIRS宏定义,标识最大可打开dir数量。新增g_dirNum静态变量,标识已打开的dir数量。
在opendir成功时g_dirNum++,在closedir成功时g_dirNum--。
BREAKING CHANGE:
新增LOSCFG_MAX_OPEN_DIRS宏定义,标识最大可打开dir数量。
fix: I62XEA
Signed-off-by: Hongjin Li <lihongjin1@huawei.com>
2022-11-29 19:05:00 +08:00
openharmony_ci
019dab8db4
!941 文件系统提供动态内存分配器钩子
...
Merge pull request !941 from Far/LOS_FS_MALLOC
2022-11-28 14:36:29 +00:00
Far
f190275664
feat: 文件系统提供动态内存分配器钩子
...
增加LOS_FS_MALLOC/LOS_FS_FREE宏以提供用户配置动态内存分配器的能力。
用户只需要在components/fs/vfs/los_fs.h中修改对应的函数即可。
BREAKING CHANGE:
文件系统提供动态内存分配器钩子
新增宏:
LOS_FS_MALLOC
LOS_FS_FREE
fix #I63IJW
Signed-off-by: Far <yesiyuan2@huawei.com>
Change-Id: I20cb41f621a2e22d74749583f546d550ba127b72
2022-11-28 20:02:20 +08:00
wangchen
97a638bc1c
fix: vfs 分区格式化逻辑修改
...
方案描述:
1,删除fat分区时调用的adddevice的动作
2,修改格式化的判断逻辑
fix #I63FDV
Signed-off-by: wangchen <wangchen240@huawei.com>
2022-11-28 03:53:54 +00:00
openharmony_ci
d120f1e57a
!921 其他分区已mount时会引起格式化失败
...
Merge pull request !921 from wangchen/1117_m
2022-11-18 09:34:41 +00:00
wangchen
08436dec9e
fix: 其他分区已mount时会引起格式化失败
...
【背景】其他分区已mount时会引起格式化失败
【修改方案】
1, 格式化时判断方式修改为路径
【影响】
对现有的产品编译不会有影响。
re #I61P4K
Signed-off-by: wangchen <wangchen240@huawei.com>
2022-11-18 06:31:12 +00:00
Hongjin Li
2dc3998956
fix: add space after comma
...
Signed-off-by: Hongjin Li <lihongjin1@huawei.com>
2022-11-17 20:15:53 +08:00
Far
64d15df9ea
fix: fix the MS_REMOUNT support
...
The mount interface can't deal with MS_REMOUNT flag now, fix it.
Signed-off-by: Far <yesiyuan2@huawei.com>
Change-Id: Id0960c8d92ce767b8d8ef98b3ba2e1d1ab7db15d
2022-11-15 17:05:21 +08:00
arvinzzz
474201593d
feat: 提供死机场景下dump文件的能力
...
死机场景下,vfs层锁会放开,提供dump文件的能力
Signed-off-by: arvinzzz <zhaotianyu9@huawei.com>
Change-Id: Id8c9e63fbf011dbc6690b9b4557bd3370353bf21
2022-11-05 17:58:37 +08:00
Far
296a546bcd
fix: 修复一些静态扫描工具发现的问题
...
Change-Id: I4890de0066f33bf44e913b550edfa3639bce7caf
Signed-off-by: Far <yesiyuan2@huawei.com>
2022-10-15 17:36:26 +08:00
openharmony_ci
8fc9852e34
!830 lfs_mount 不能多实例
...
Merge pull request !830 from wangchen/0922_m
2022-09-26 13:09:18 +00:00
openharmony_ci
816d03f5c1
!832 LOS_FsMount 接口存在多处功能问题
...
Merge pull request !832 from wangchen/0923_m
2022-09-26 13:02:50 +00:00
xiacong
784429d0dc
<fix>
...
修复报警信息,为以下修复点
1、修复空指针未判断
2、修复open后未及时close 导致内存泄露
3、修复strdup后未free
4、修复赋值后未使用等问题
5、修复编码中判断条件中无符号变量小于零的情况
Signed-off-by: xiacong <xiacong4@huawei.com>
Change-Id: I13d046141afeb8a116e6a04304a3793bf8e12bee
Signed-off-by: xiacong <xiacong4@huawei.com>
2022-09-24 22:11:27 +08:00
wangchen
cf50cde1b7
fix: lfs_mount 不能多实例
...
【背景】最后一个调用lfs_mount()的分区是有效的,前面的会被冲掉
【修改方案】
1, 增加一个存放cfg的空间, 每个mount点有独自的配置存储空间
【影响】
对现有的产品编译不会有影响。
re #I5RIGH
Signed-off-by: wangchen <wangchen240@huawei.com>
2022-09-23 06:44:53 +00:00
wangchen
bfef7bfb2e
fix: LOS_FsMount 接口存在多处功能问题
...
【背景】LOS_FsMount 接口存在多处功能问题
【修改方案】
1, 修改goto逻辑
2,把过长的函数重新封装
【影响】
对现有的产品编译不会有影响。
re #I5SP1I
Signed-off-by: wangchen <wangchen240@huawei.com>
2022-09-23 03:45:18 +00:00
wangchen
0adbafb9c2
\fix: M核用例编译问题修复
...
【背景】M核用例编译问题修复
【修改方案】
1, 添加musl缺失的fcntl
2,删除musl下对fcntl和ioctl的依赖
3,修改fs和vfs种fcntl入参的处理
【影响】
对现有的产品编译不会有影响。
re #I5PKBJ
Signed-off-by: wangchen <wangchen240@huawei.com>
2022-09-21 07:20:12 +00:00
arvinzzz
5756d45e84
fix: 修复fs在iccarm下的编译错误
...
close: #I5NXFL
Signed-off-by: arvinzzz <zhaotianyu9@huawei.com>
2022-08-24 16:59:42 +08:00
openharmony_ci
fe8b68826a
!792 fix: iccarm fatfs编译问题修复
...
Merge pull request !792 from Zhaotianyu/20220818iccarm_fatfs
2022-08-18 11:38:21 +00:00
arvinzzz
99640e9977
fix: fatfs iccarm编译修复
...
close: #I5MZ62
Signed-off-by: arvinzzz <zhaotianyu9@huawei.com>
Change-Id: Ie3882e443406d5055ff58c780cd376ddd6054bbf
2022-08-18 17:47:34 +08:00
openharmony_ci
699bb81fc3
!721 完善文件系统vfs层初始化函数
...
Merge pull request !721 from LeonChan/oh
2022-08-17 04:35:45 +00:00
leonchan5
f2c4b59773
feat: liteos-m文件系统初始化函数支持littlefs
...
VFS初始化函数LOS_DiskPartition及LfsFormat支持littlefs,支持对flash设备进行分区和格式化操作
1,VFS层记录Fat/littlefs设备名称、分区等信息,后续在本层做处理
2,flash设备的相关配置及驱动操作接口通过LOS_DiskPartition配置,产品不用直接面向具体文件系统
close: #I5CYKI
Signed-off-by: leonchan5 <chenwei26@huawei.com>
2022-08-16 18:55:53 +08:00
wangchen
2ce5ce9397
fix: littlefs readdir在完全读完后,会设置错误码EBADF
...
【背景】littlefs readdir在完全读完后,会设置错误码EBADF
【修改方案】
1, fsFops->readdir 执行返回非0时,有可能是正常情况,因此删除else赋值错误码
【影响】
对现有的产品编译不会有影响。
re #I5M1OE
Signed-off-by: wangchen <wangchen240@huawei.com>
2022-08-12 09:25:20 +00:00
openharmony_ci
2ec2c369e7
!755 内核告警清理
...
Merge pull request !755 from yinjiaming/fix
2022-08-09 08:37:39 +00:00
arvinzzz
d0c50a4af0
fix: iccarm编译修复
...
close: #I5JXMJ
Signed-off-by: arvinzzz <zhaotianyu9@huawei.com>
Change-Id: I3fbaf459ad4807a44396f319a4d53d3cc1e7700c
2022-08-01 16:53:18 +08:00
yinjiaming
a36d5d9058
fix: 内核告警修复
...
【背景】
内核代码经代码扫描工具发现存在一些关于代码格式的告警,
现经修改解除掉告警。
【修改方案】
修改了代码中格式不规范的地方,修改的点有:
1.代码中一行过长
2.没有合理的添加空格和空行
3.没有按照规范进行缩进
4.括号的格式没有按照规范
5.注释的格式不对以及存在魔数字
6.函数的声明与定义的格式不一致
并更新了修改文件的版权头时间
【影响】
对现有的产品编译不会有影响。
re #I5H6F5
Signed-off-by: yinjiaming <yinjiaming@huawei.com>
Change-Id: Id8eb0450d03fae537ea4c73190fdadb76b29253d
2022-07-29 08:30:38 +00:00
mr-yx
527f6cf86e
fixed typos
...
Signed-off-by: mr-yx <496043997@qq.com>
2022-06-27 22:05:19 +08:00
xiexg-dc
46546688c9
fix: 修复fatfs中GetLdPath无法正常返回结果
...
fix: #I4XBJ6
Signed-off-by: xiexg-dc <xiexg@digitalchina.com>
Change-Id: I919d48de744f01f56b6fb7376b8b770386380197
2022-04-06 10:37:03 +08:00
arvinzzz
d84471ff29
fix: 告警修复
...
Signed-off-by: arvinzzz <zhaotianyu9@huawei.com>
Change-Id: I1c00ca1dda35c62b06bff78353737f7943a647e9
2022-03-23 17:15:52 +08:00
arvinzzz
38f8472ddb
fix: 告警修复
...
Signed-off-by: arvinzzz <zhaotianyu9@huawei.com>
Change-Id: Iaec45e835737c0ae7eea88408b2a1a4a79f1a40c
2022-03-22 18:29:16 +08:00
arvinzzz
17daa50fa2
fix: 内源检视修复
...
Signed-off-by: arvinzzz <zhaotianyu9@huawei.com>
Change-Id: Ic8f63a512a5b2c88e7abee6c167473f37ecc9f3b
2022-03-21 11:02:16 +08:00
zhushengle
a09d4882c4
fix: 规范整改
...
Signed-off-by: zhushengle <zhushengle@huawei.com>
Change-Id: I7be78853291d53636fd199104b4c72bbab222bcd
2022-03-19 15:46:10 +08:00
longxingkai
e3e9b2f5a5
fix fs opendir bug
...
Signed-off-by: longxingkai <longxingkai@talkweb.com.cn>
2022-03-11 10:23:38 +08:00
fangye
9aa32ae743
fix: 修复FileSystem menuconfig配置问题
...
Signed-off-by: fangye <fangye@talkweb.com.cn>
Change-Id: Ibbac507ec290657489e47a708d2926ec709fa6b8
2022-03-10 09:27:16 +08:00
Guangyao Ma
09034de68a
refactor: liteos-m vfs refactory
...
close #I4RV26
Change-Id: I76d5d5128d37efa5fbcde6d105c78f4d7be607de
Signed-off-by: Guangyao Ma <guangyao.ma@outlook.com>
2022-03-09 12:07:15 +08:00
wangchen
43baa4fdc4
fix: 内源代码检视问题
...
【背景】内源代码检视问题
【修改方案】
1,按检视意见,进行资源泄露等问题的修改
【影响】
对现有的产品编译不会有影响。
re #I4WV56
Signed-off-by: wangchen <wangchen64@huawei.com>
2022-03-08 09:38:03 +00:00
arvinzzz
491cefae76
feature: 补充pread/pwrite接口
...
Signed-off-by: arvinzzz <zhaotianyu9@huawei.com>
Change-Id: Ie31cacd18131113e51a6949dfba57a86ca4eb0e5
2022-02-24 19:57:30 +08:00
fangye
9bc9f3aa53
feat: littlefs最大打开文件个数修改为可通过menuconfig配置
...
Signed-off-by: fangye <fangye@talkweb.com.cn>
Change-Id: Iba141821200b6044d89ec50b7ddb1047490f5229
2022-02-11 14:52:42 +08:00
likailong
05642f05ae
feat: 支持select.h的FD_SETSIZE宏配置
...
1. FD_SETSIZE由普通文件+网络文件的文件句柄个数之和决定。
2. 以前vfs_config.h引入fatfs.h和lfs_api.h又会引入其他头文件,
导致变异问题。因此需要将配置宏拆分出来放到fatfs_conf.h和
lfs_conf.h 头文件中。
3. lwipopts.h会提供网络的句柄个数,依赖FD_SETSIZE,而select.h会提供FD_SETSIZE,
依赖网络句柄个数,因此会形成相互依赖的情况,需要通过顺序来解决。
4. 网络中新增ntohl的定义。
close: #I4RYK4
Signed-off-by: likailong <likailong@huawei.com>
2022-01-24 17:24:26 +08:00
Hongjin Li
9314b2fe81
chore: liteos-m kernel 部件标准化
...
1、添加liteos-m kernel的部件描述文件bundle.json
2、依赖三方开源软件的编译脚本修改,取消直接include头文件,改为引用三方开源软件提供的公共配置。
Signed-off-by: Hongjin Li <lihongjin1@huawei.com>
Change-Id: I345c105a75c5cd87144c821fae123abf1f53e9f7
2022-01-19 17:44:49 +08:00