1. 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
  2. 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
  3. 05 6月, 2021 1 次提交
  4. 04 6月, 2021 1 次提交
    • Yansira's avatar
      feat: timer_create支持以SIGEV_THREAD方式创建定时器 · e5f6bf05
      Yansira 提交于
      【背景】当前timer_create接口不支持以SIGEV_THREAD的方式创建多个定时器
      
      【修改方案】
      1、内核timer_create接口在创建software timers相应的线程时,使用线程
      taskCB所携带的信息识别各个线程的信号并依据该信息分别派发出信号。
      2、关于用户任务操作许可验证的修改,现在允许同一用户线程向其自身派发信
      号,软件定时器计时结束,向用户态发送相应的信号,完成用户态线程的回调。
      
      【影响】
      对现有的产品暂无影响。
      
      re #I3SRFI
      Signed-off-by: Yansira's avataryansira <yansira@hotmail.com>
      Change-Id: Ia23f5ef01975bf867dd7f5db797a30c264c50501
      e5f6bf05
  5. 09 4月, 2021 1 次提交
    • G
      feat: add and fix some syscall · ce849f21
      Guangyao Ma 提交于
      add SysFstatat64 SysInfo SysVfork SysGetrusage
      fix up SysDup SysFcntl
      
      Change-Id: If41228da62f406312858921e48e2210e04f16a16
      ce849f21
  6. 19 3月, 2021 1 次提交
    • W
      Description:vfs refactoring · d9707508
      wangchenyang 提交于
      Feature or Bugfix:Feature
      Binary Source:Huawei
      PrivateCode(Yes/No):Yes
      
      Change-Id: I175d2648bc6f9078c34de2c0a5c93fda10b86c47
      ChangeID:13306388
      d9707508
  7. 13 3月, 2021 1 次提交
  8. 11 3月, 2021 1 次提交
  9. 13 10月, 2020 1 次提交
  10. 08 9月, 2020 1 次提交