Commit Graph

16 Commits

Author SHA1 Message Date
Far 0a694a179e fix: 修复jffs2未正确初始化锁的错误
fs/jffs2/compr_zlib.c中两个互斥锁deflate_mutex和inflate_mutex未初始化,导致未能有效保护临界区

Close #I4FH9M

Signed-off-by: Far <yesiyuan2@huawei.com>
2021-11-18 14:21:01 +08:00
Caoruihong c4e7b6018f fix: fix mismatch declarations
Signed-off-by: Caoruihong <crh.cao@huawei.com>
Change-Id: I2b0e06b01d27702204421193054608ebe77be575
2021-09-27 21:05:57 +08:00
openharmony_ci 0a51ada53d !8 posix support change time.
Merge pull request !8 from Kiita/master
2021-08-05 11:50:10 +00:00
zhangyan b6eeba2254 feat: linux kernel jffs文件系统支持设置文件时间标志。
re #I3ITAG

Signed-off-by: yansira <yansira@hotmail.com>
Change-Id: I94955aba1e64df8e2564f865b3e616aad2de7a1e
2021-08-05 11:32:28 +08:00
Far 01383dc17c feat: 增加mount的MS_RDONLY标志的支持
修改jffs2_mount和jffs2_umount的逻辑,使其在只读的形式挂载时不再启动gc线程

Close #I3Z1W6

Signed-off-by: Far <yesiyuan2@huawei.com>
2021-07-08 15:40:21 +08:00
boxi 52b7fe912a refactor: 对LiteOS_a内核中menuconfig开关的宏使用#ifdef/#ifndef做预编译处理
LiteOS_a中有部分配置宏进行了重复冗余定义,导致当头文件未被包含时,极易引入错误,
故对menuconfig配置宏进行统一处理,均使用#ifdef/#ifndef作为预编译判断方式

Close #I3YEGS

Signed-off-by: boxi <lewis.liulei@huawei.com>
Change-Id: I59dc4fb0b7bf8da1b6aafd2f0b2a568ad601d3ec
2021-07-01 08:48:41 +08:00
chenjing 7e7777a1ec feat: support jffs2 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: I621884b0ec773eb86a7ed3b340d6134cfeb9d971
Signed-off-by: chenjing <chenjing139@huawei.com>
2021-06-09 16:05:28 +08:00
chenwei 2ea6357e12 Revert "fix: kernel crashed when delete a umounted folder"
Close: I3NGBT
Change-Id: I2a398c90edc0d543267f96d1c0dc19784639ab2d
2021-04-21 17:16:16 +08:00
chenwei b8f8786426 fix: kernel crashed when delete a umounted folder
Close: I3MZZ6
Change-Id: I16f781c541d9c7c1aaf031c87ec0835a6f546df7
2021-04-20 16:06:29 +08:00
chenwei 0f8d578947 add debug code to fix bug: kernel crashed after rmdir the umounted folder
Change-Id: I074b2fd47b57a5b991fb99e458eb58694e5efe09
2021-04-16 11:19:00 +08:00
openharmony_ci 8de6e3ba71 !5 VM模块裁剪
Merge pull request !5 from JerryH/vm
2021-04-02 16:48:46 +08:00
YOUR_NAME 436fc5e54c IssueNo:#I3EOI0
Description:Delete VM to support only kernel mode.
Sig:liteos_a
Feature or Bugfix:Feature
Binary Source:No

Change-Id: Ie1029c8fbc0c1b85c138663933118d2d148b7769
2021-04-01 18:40:08 +08:00
Guangyao Ma 34d4492a9f fix(jffs2):adapt the new jffs fs for qemu
Change-Id: Ifc686534b32bc3a5ee68af1fcf81c1937d8ed5d1
2021-03-29 21:18:16 +08:00
wangchenyang 93aed1ac56 Description:vfs refactoring
Feature or Bugfix:Feature
Binary Source:Huawei
PrivateCode(Yes/No):Yes

Change-Id: I175d2648bc6f9078c34de2c0a5c93fda10b86c47
ChangeID:13306412
2021-03-19 14:33:51 +08:00
mamingshuai 5f9f02f4be update openharmony 1.0.1 2021-03-11 18:44:40 +08:00
wenjun e3d33d1d40 add OpenHarmony 1.0 baseline 2020-09-09 10:48:00 +08:00