I created a bucket in Hetzner's object storage and started zerofs with:
export SLATEDB_CACHE_DIR='/var/cache/zerofs'
export SLATEDB_CACHE_SIZE_GB='10'
export ZEROFS_ENCRYPTION_PASSWORD='...'
export ZEROFS_MEMORY_CACHE_SIZE_GB='1'
export ZEROFS_NBD_PORTS='10809'
export ZEROFS_NBD_DEVICE_SIZES_GB='2000'
export RUST_LOG='zerofs=debug'
# Hetzner Nurenberg S3 API
export AWS_ENDPOINT='https://nbg1.your-objectstorage.com'
export AWS_ACCESS_KEY_ID='...'
export AWS_SECRET_ACCESS_KEY='...'
Launching zerofs went fine. I ran nbd-client and then mkfs.btrfs. It hung for ~4 minutes before spitting out an error:
> sudo mkfs.btrfs --checksum xxhash /dev/nbd0
btrfs-progs v6.15
See https://btrfs.readthedocs.io for more information.
Performing full device TRIM /dev/nbd0 (1.95TiB) ...
NOTE: several default settings have changed in version 5.15, please make sure
this does not affect your deployments:
- DUP for metadata (-m dup)
- enabled no-holes (-O no-holes)
- enabled free-space-tree (-R free-space-tree)
ERROR: error during mkfs: Operation not permitted
Took 4.2min
zerofs did spit out 4 errors around that time (this is from one of them):
2025-08-21T08:45:41.712640Z DEBUG zerofs::nbd::server: NBD command: Flush, offset=0, length=0
2025-08-21T08:46:51.364103Z ERROR zerofs::nbd::server: Error handling NBD client 127.0.0.1:43070: IO error: early eof
I unmounted the nbd device and restarted zerofs, this time it seems it has created the filesystem OK. I mounted the FS but at some point it failed:
2025-08-21T09:04:30.232714Z ERROR zerofs: Garbage collection failed: IoError
Maybe I need to try all this with AWS S3 first...
Update:
- I restarted zerofs
- I re-ran mkfs.btrfs
- I re-mounted the filesystem
- Now I can create a file...
- But a bit later (sitting idle) I got:
2025-08-21T09:22:29.764160Z DEBUG zerofs::nbd::server: NBD command: Flush, offset=0, length
=0
thread 'tokio-runtime-worker' panicked at /home/runner/.cargo/git/checkouts/slatedb-a6e7398
2df30678a/6e13868/slatedb/src/compactor.rs:297:18:
fatal error loading manifest: ObjectStoreError(Generic { store: "S3", source: ListResponseB
ody { source: HttpError { kind: Interrupted, source: reqwest::Error { kind: Body, source: r
eqwest::Error { kind: Decode, source: reqwest::Error { kind: Body, source: hyper::Error(Bod
y, Os { code: 104, kind: ConnectionReset, message: "Connection reset by peer" }) } } } } }
})
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace
2025-08-21T09:22:34.248958Z ERROR zerofs::fs::flush_coordinator: Automatic flush failed: Er
r(IoError)
I created a bucket in Hetzner's object storage and started zerofs with:
Launching zerofs went fine. I ran nbd-client and then mkfs.btrfs. It hung for ~4 minutes before spitting out an error:
zerofs did spit out 4 errors around that time (this is from one of them):
I unmounted the nbd device and restarted zerofs, this time it seems it has created the filesystem OK. I mounted the FS but at some point it failed:
Maybe I need to try all this with AWS S3 first...
Update: