1. 15 6月, 2021 1 次提交
    • C
      feat: fatfs支持符号链接功能 · e50cf0be
      chenjing 提交于
      1 将fatfs_creat与fatfs_mkdir抽象成fatfs_creat_obj,通过参数type控制创建的对象类型;
      2 新增fatfs_symlink与fatfs_readlink接口,其中:
         1) fatfs_symlink通过fatfs_creat_obj创建出符号链接文件,并为其申请新簇,将target内容写入簇的第一个sector;
         2) fatfs_readlink读出符号链接文件对应簇中第一个sector的内容
      
      close #I3V8D1
      Signed-off-by: Nchenjing <chenjing139@huawei.com>
      Change-Id: I38dfaa28af156399817530923534d5b73b4c64af
      e50cf0be
  2. 09 6月, 2021 8 次提交
    • 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
    • O
      !277 README_zh.md: update the incorrect link · 6dee4ae6
      openharmony_ci 提交于
      Merge pull request !277 from zhangyanxian/master
      6dee4ae6
    • O
      !261 fix(build): clang10.0.1支持lto,去掉冗余判断 · 413e0230
      openharmony_ci 提交于
      Merge pull request !261 from SimonLi/fix-lto
      413e0230
    • O
      !263 fix(build): 去除冗余单板相关的宏配置 · 8c5b358b
      openharmony_ci 提交于
      Merge pull request !263 from SimonLi/fix-redundant-macro
      8c5b358b
    • O
      !301 修复SysOpenat返回的文件句柄不正确的问题 · 3bf8cbc7
      openharmony_ci 提交于
      Merge pull request !301 from JING/openat
      3bf8cbc7
    • O
      !305 内核态在console初始化完成后,使用printf无法正常打印 · 36462bcd
      openharmony_ci 提交于
      Merge pull request !305 from zhangfanfan2/master
      36462bcd
    • O
      !306 refactor(mksh): reduce the mksh size by Oz · 1f8e5424
      openharmony_ci 提交于
      Merge pull request !306 from MGY917/mksh_size_reduce
      1f8e5424
    • O
      !288 修复shm用例多次执行时失败问题 · ebb1305b
      openharmony_ci 提交于
      Merge pull request !288 from lnlan/shm_test_fixed
      ebb1305b
  3. 08 6月, 2021 4 次提交
  4. 07 6月, 2021 7 次提交
  5. 05 6月, 2021 2 次提交
  6. 04 6月, 2021 11 次提交
  7. 03 6月, 2021 7 次提交