[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <Pine.LNX.4.64.0802141620330.694@fbirervta.pbzchgretzou.qr>
Date: Thu, 14 Feb 2008 16:23:37 +0100 (CET)
From: Jan Engelhardt <jengelh@...putergmbh.de>
To: Hans-Jürgen Koch <hjk@...utronix.de>
cc: Andi Kleen <andi@...stfloor.org>,
Jasper Bryant-Greene <jasper@...x.geek.nz>,
rzryyvzy <rzryyvzy@...shmail.net>, linux-kernel@...r.kernel.org
Subject: Re: Is there a "blackhole" /dev/null directory?
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@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists