开心之家
  • 关于我
  • 文章
    精选文章 技术博客 生活随笔 诗云 小说
  • 项目
    科学研究 课题项目 自发小项 有待补充
  • 业余爱好
    跑者之路 新人吉他曲 视频·微电影

分布式持久性内存文件系统专题


POSIX 兼容接口注意事项

该文件系统的任务指标之一是兼容 POSIX 接口,具体来说,是以下接口(可能不全,有待添加):

文件操作

  1. 文件打开/创建

int open(const char *filepath, int flags)

int open(const char *filepath, int flags, mode_t mode)

  1. 文件关闭

int close(int fd)

  1. 文件控制

int fcntl(int fd, int cmd, ... /* arg */ )

  1. 文件读写

ssize_t read(int fd, void *buf, size_t count)

ssize_t write(int fd, const void *buf, size_t count)

  1. 文件定位

off_t lseek(int fd, off_t offset, int whence)

  1. 文件同步

void sync(void)

int syncfs(int fd)

int fsync(int fd)

int fdatasync(int fd)

目录操作

  1. 目录打开

DIR *opendir(const char *name) DIR *fdopendir(int fd)

  1. 目录关闭

int closedir(DIR *dirp)

  1. 目录读

struct dirent *readdir(DIR *dirp)

  1. 目录定位

long telldir(DIR *dirp)

void seekdir(DIR *dirp, long loc)

  1. 目录删除/添加

int rmdir(const char *pathname)

int mkdir(const char *pathname, mode_t mode)

  1. 当前路径获取/修改

char *getcwd(char *buf, size_t size)

char *getwd(char *buf)

char *get_current_dir_name(void)

int chdir(const char *path)

int fchdir(int fd)

参考链接

  1. Linux系统文件I/O编程(一)—open()等基本函数
  2. POSIX文件及目录管理
  3. C open vs fopen
  4. What is the functional difference between msync() and fsync() in linux
  • GitHub
  • Email me

黄开心  •  2024

Theme by beautiful-jekyll