5 ms·
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
by alpb 5y ago
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.