1. 11 8月, 2021 1 次提交
    • G
      feat(vfs): vfs支持FD_CLOEXEC标记 · 27dca4d8
      Guangyao Ma 提交于
      首先,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: NGuangyao Ma <guangyao.ma@outlook.com>
      27dca4d8
  2. 10 8月, 2021 1 次提交
    • L
      fix: 修复mqueue问题 · 26ee8b83
      lnlan 提交于
      【背景】
      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: Nlanleinan <lanleinan@163.com>
      Change-Id: I09f183cc3a88e5a65201dbc1fc4f4806f78971be
      26ee8b83
  3. 06 8月, 2021 1 次提交
  4. 30 7月, 2021 1 次提交
    • W
      fix: A核代码告警清零 · 698756d1
      wangchen 提交于
      【背景】定期A核代码告警清零。
      
      【修改方案】
      根据工具扫描结果,对代码告警进行更改。
      
      【影响】
      对现有的产品编译不会有影响。
      
      re #I4378T
      Signed-off-by: Nwangchen <253227059@qq.com>
      698756d1
  5. 21 7月, 2021 1 次提交
  6. 20 7月, 2021 1 次提交
    • F
      feat: 增加mount的MS_RDONLY标志的支持 · 8729f6ee
      Far 提交于
      增加mount的MS_RDONLY标志的支持,并修改vfs主要接口相关支持。
      1. fatfs lseek接口在分区以MS_RDONLY方式和文件以只读打开时不再能够扩大文件的大小。
      2. 直接在镜像中创建storage目录,而不是在挂载根文件系统时创建storage目录。
      3. 增加了MS_RDONLY的测试用例。
      
      Close #I3Z1W6
      Signed-off-by: NFar <yesiyuan2@huawei.com>
      8729f6ee
  7. 08 7月, 2021 1 次提交
    • X
      fix:消除编译告警 · e4ff0458
      x_xiny 提交于
      【背景】
       消除编译告警
      
      【修改方案】
       消除编译告警
      
       re #I3ZC1R
      
       Change-Id: I594d0f57e4cbbdb246a6bef1c978a38228123a34
      Signed-off-by: Nx-xiny <1301913191@qq.com>
      
      Change-Id: I1d75cdcdcf9d06ec28e541cdfea77300da7c6bb1
      e4ff0458
  8. 05 7月, 2021 1 次提交
  9. 24 6月, 2021 2 次提交
  10. 22 6月, 2021 1 次提交
  11. 21 6月, 2021 2 次提交
  12. 19 6月, 2021 1 次提交
    • M
      fix: remove redundant headfile · 73a77777
      mucor 提交于
      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: Nmucor <mucorwang@gmail.com>
      73a77777
  13. 09 6月, 2021 1 次提交
    • C
      feat: support link/symlink/readlink · 6eddc869
      chenjing 提交于
      新增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: Nchenjing <chenjing139@huawei.com>
      6eddc869
  14. 08 6月, 2021 1 次提交
  15. 07 6月, 2021 2 次提交
    • C
      fix: codex · 101a55d1
      chenwei 提交于
      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's avataryansira <yansira@hotmail.com>
      101a55d1
    • F
      fix: codex clean · b5370af8
      Far 提交于
      1. 修复可能对NULL指针解引用的场景
      2. 将不修改内容的指针入参修改为const
      3. 对getpgrp的返回值进行校验后再使用
      4. 修复了局部变量未初始化的问题
      
      Close #I3UOFN
      Signed-off-by: NFar <yesiyuan2@huawei.com>
      b5370af8
  16. 04 6月, 2021 1 次提交
  17. 20 5月, 2021 1 次提交
  18. 11 5月, 2021 1 次提交
  19. 30 4月, 2021 1 次提交
  20. 29 4月, 2021 1 次提交
  21. 28 4月, 2021 3 次提交
  22. 23 4月, 2021 1 次提交
  23. 21 4月, 2021 2 次提交
  24. 20 4月, 2021 5 次提交
  25. 19 4月, 2021 1 次提交
  26. 17 4月, 2021 1 次提交
  27. 16 4月, 2021 3 次提交
  28. 15 4月, 2021 1 次提交
    • F
      Feature: Fatfs scandir format and mmcblk read/write optimization · beca52b6
      Far 提交于
      1. Bcache block with high mem address is after lower mem address in RCU list when initing bcache.
      2. Format will clear the bcache before writing the FAT.
      3. The fatfs_readdir use the bcache writing block to reduce the chance of data switching out
      4. Add performance analysing macron switch
      
      Change-Id: I8fbc48418509d2e660d725d2c265266e931c26f8
      beca52b6