jkominek / fdbfs

A not-yet-ready-for-use FoundationDB-backed FUSE filesystem. Seriously, don't use it.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Build Status GitHub license

fdbfs

needs a better name.

this isn't ready for prime time, yet.

compiling

ensure you have the foundationdb client library, and protobuf available for pkg-config to find.

for "precise" details, see the Github actions configuration file, as it is able to run the build and tests.

backwards incompatibilities

you shouldn't be using this, let alone storing real data in it yet.

but as precommitment to the possibility that i'll take this software seriously someday, i'll attempt to track any backwards incompatibilities here.

  • 2019-10-07 KV layout changed; fileblocks and dirents moved away from the inode records in KV-space. you could transform the old format into the new one programmatically if the filesystem was offline. no code exists for that. do a dump and restore.

long termish TODO

  • main priorities
    • eliminate all bugs
    • implement all FUSE operations,
    • full compatibility for user space code written against ext4/UFS/ZFS.
    • tests. and running under valgrind during tests.

everything else is roughly descending order:

  • mkfs
  • fsck and command line options for the FS itself
  • coalesce multiple writes to the same kv pair
  • read-only compatibility with FDB directory layer
  • configurable compression
  • configurable per-block ECC
  • extract FS operations into non-FUSE specific library, while maintaining performance in FUSE case
    • samba VFS module
    • dokan support
    • user space LD_PRELOAD'able library?

About

A not-yet-ready-for-use FoundationDB-backed FUSE filesystem. Seriously, don't use it.

License:ISC License


Languages

Language:C++ 94.8%Language:Python 2.0%Language:C 1.7%Language:Shell 0.7%Language:Meson 0.7%