Re: Is there a "blackhole" /dev/null directory?
From: Bill Davidsen
Date: Fri Feb 15 2008 - 14:25:00 EST
Jan Engelhardt wrote:
On Feb 14 2008 10:46, Andi Kleen wrote:
Jasper Bryant-Greene <jasper@xxxxxxxxxxxx> writes:
This could be done fairly trivially with FUSE, and IMHO is a good use
for FUSE because since you're just throwing most data away, performance
is not a concern.
There is a much more interesting 'problem' with a "/dev/null directory".
Q: Why would you need such a directory?
A: To temporarily fool a program into believing it wrote something.
Also: to let a program believe it was creating files which are used to
hold the written data. Otherwise /dev/null would probably be the solution.
Q: Should all files disappear? (e.g. "unlink after open")
A: Maybe not, programs may stat() the file right afterwards and
get confused by the "inexistence".
I think what is going to happen is that files created behave as if they
are the result of a mknod resulting in a /dev/null clone.
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.
The directory structure can persist, it's the writing of data which can
be avoided.
Real example:
A program which reads log files and prepares a whole raft of reports in
a directory specified. If you just want to see the summary (stdout) and
exception notices (stderr) having a nulldir would avoid the disk space
and i/o load if you were just looking at the critical output rather than
the analysis.
Yes, if this was an original program requirement it would or should have
been a feature. Real world cases sometimes use tools in creative ways.
--
Bill Davidsen <davidsen@xxxxxxx>
"We have more to fear from the bungling of the incompetent than from
the machinations of the wicked." - from Slashdot
--
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/