flink()
几年前提交了一个用于提议的Linux 系统调用的补丁,但是当Linus声明“在HELL中,没有其他重大入侵,我们无法安全地做到这一点”,这几乎结束了关于是否添加此问题的争论。
随着Linux 3.11的,现在可以创建具有不使用目录项文件open()
与新的O_TMPFILE
标志,并将其链接到文件系统一旦使用完全形成linkat()
于/proc/self/fd/
FD 与AT_SYMLINK_FOLLOW
标志。
open()
手册页上提供了以下示例:
char path[PATH_MAX];
fd = open("/path/to/dir", O_TMPFILE | O_RDWR, S_IRUSR | S_IWUSR);
/* File I/O on 'fd'... */
snprintf(path, PATH_MAX, "/proc/self/fd/%d", fd);
linkat(AT_FDCWD, path, AT_FDCWD, "/path/for/file", AT_SYMLINK_FOLLOW);