On Feb 14 2008 16:19, Hans-Jürgen Koch wrote: >> >> Q: What if a program attempts to mkdir /dev/nullmnt/foo to just >> create a file /dev/nullmnt/foo/barfile? >> A: /dev/nullmnt/foo must continue to exist or be accepted for a while, >> or perhaps for eternity. > >Well, the problem seems to be that a "directory" is not just data but >also contains metadata. While it's easy to write data to /dev/null, you >cannot simply discard metadata associated with a directory. So, such a >"/dev/null-directory" would have to remember metadata (at least all >created filenames including subdirectories) in the same way as other >filesystems do. Only file _content_ can be discarded.
Not even that. Suppose a userspace program (whose output you'd like to discard) does: int main(void) { int fd = open("/nullmnt/foo.txt", O_WRONLY | O_CREAT | O_EXCL); /* write lots of nonsensical data that we don't need anyway */ write(fd, "Hello Wor(l)d", 13); if (lseek(fd, 0, SEEK_SET) < 0) { /* should not happen */ fprintf(stderr, "Huh, did we write to a pipe or cdev?\n"); abort(); } /* verify */ char buf[13]; read(fd, buf, 13); if (memcmp(buf, "Hello Wor(l)d", 13) != 0) fprintf(stderr, "Aïe, disk corruption!\n"); } >To be honest, I still cannot see many sensible usecases for that... I agree. -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/