Re: Is there a "blackhole" /dev/null directory?

From: Jan Engelhardt
Date: Thu Feb 14 2008 - 10:24:00 EST



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 majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/