Messages in this thread | | | From | Miquel van Smoorenburg <> | Subject | Re: rm-ing files with open file descriptors | Date | Sat, 19 Jan 2002 00:50:24 +0000 (UTC) |
| |
In article <Pine.LNX.3.95.1020118163838.3008B-100000@chaos.analogic.com>, Richard B. Johnson <root@chaos.analogic.com> wrote: >This is a characteristic of a VFS (Virtual File System) on any >Unix system. The file doesn't go away until it is closed by >everybody that accesses it. However, you can remove or rename it >even when it's open for write by other tasks. If a task has an >open file-descriptor and keeps it open, it could 'fix' a possibly >deleted file, by opening it again with > > new_fd = open("filename", O_CREAT|O_RDWR, 0644); > >(without O_TRUNC) and it will remain in existance after all >file descriptors are closed, because it was "created" again >after it was deleted by another task.
Well no. new_fd will refer to a completely new, empty file which has no relation to the old file at all.
There is no way to recreate a file with a nlink count of 0, well that is until someone adds flink(fd, newpath) to the kernel.
You're a regular on this list, frankly I'm amazed that you don't know this ?
Mike.
- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |