Comment by david-given
10 years ago
One thing I've always wanted to try and never had time is to build SQlite as a kernel module, talking directly to the block device layer, and then implement a POSIX file system on top of it.
It wouldn't solve problems with the block device layer itself, but it'd be interesting to see how robust and/or fast it was in real life.
SQLite's still too big of a pig, and still unreliable. But we can do LMDB in-kernel, and an LMDBfs is in the works. Based on BDBfs.
http://www.fsl.cs.sunysb.edu/docs/kbdbfs-msthesis/
SQLite itself relies on a filesystem for the rollback journal or write-ahead log. So you'd need some kind of abstraction between the block device and SQLite. Might as well just use the existing filesystem and keep SQLite in user space, since that works.
cough
http://www.sqlite.org/src/doc/trunk/src/test_onefile.c
It all sounded so good until the end of the header where it's described as a demo vfs. :-(