At first I thought "oh yet another college homework with FUSE API". But this is actually a non-trivial implementation since it's a kernel module, and it doesn't just discard the syscalls (and pretend it worked). It preserves file attrs, sizes and directory entries.
> It can handle regular file operations like mkdir/rmdir/ln but writing to files does not store any data. The file size is however saved, so reading from the files behaves like re ading from /dev/zero with a fixed size.
> Writing and reading is basically an NOOP, so it can be used for performance testing with applications that require directory structures. Implemented as kernel module, instead of using FUSE, there is absolutely no overhead for copying application data from user to kernel space while performing write or read operations.
However, since you're effectively brute forcing a match on an unknown key, the universe may go cold and dark before your content arises, for any content larger than 128 bits or so.
But you’ll restart with it in not-yet-lost-it state and will lose it eventually. There is nothing useful in /dev/random, really, apart from the entropy for crypto. Trillions of trillions of … of trillions unique virtual atoms of no particular value.
I think what they mean is that https://github.com/abbbi/nullfsvfs is a Linux kernel module. Still I don’t know why they bring that up as it’s still true as the parent to that comment said, that it collided with the name in FreeBSD. But I don’t think name collisions matter anyway either, except in the case of trademarks.
bcs tmpfs stores the data in your memory. The module was simply created from the need to send large data into the void, where the application writing the data also depends on a directory structure to be existant, for performance testing specially. (if you want to eliminate any underlying fs layer as performance bottleneck, it can sometimes be helpful :))
Unless I am misreading it, you can configure this to allow some real files to be created, so it isn't all or nothing. But of course those real files will use memory.