过去几年有一种趋势是创建更多的“f”系统调用,例如fstat,fchmod,ftruncate等,它们对由开放文件描述符识别的inode执行操作,而不是一个由路径识别。
我很好奇是否有任何版本的Unix曾经有过“flink”系统调用,类似于link(2),除了link有以下接口:
int link(const char *oldpath, const char *newpath);
这个假设的眨眼会有:
int flink(int fd, const char *newpath);
它的行为完全相同,除了在内部使用iname
来解析oldpath
到inode之外,它只会使用fd
结构指向的inode。 / p>
如果还没有这样做,这个想法有什么明显的错误吗?