Remix.run Logo
pierrebarre 8 hours ago

Author here. Thanks for posting this!

It’s been quite a ride building ZeroFS, and I’m happy to answer any questions.

tandr 6 hours ago | parent | next [-]

I'm thinking about using this and have a few questions:

    1. How are hardlinks and duplicate files (same content, different paths) handled?
    2. Does deduplication work on a block/chunk level for partially matching files, or does it only look at whole files?
    3. Is there any specific integration or handling for Copy-on-Write (CoW)?
Thank you!
the_duke 5 hours ago | parent | prev | next [-]

I was investigating the design a little. Two big questions:

A) You notably don't write a recovery log (WAL/journal) for things not yet flushed, so data can be lost. Do you have plans to add this? I think it would be pretty crucial.

B) the system is single writer. Do you have plans for adding horizontal scalability so a writer can be dynamically selected and routed to, transparent to the client? (Or with client cooperation, but without forcing sharding on the user)

chillfox 7 hours ago | parent | prev | next [-]

Thanks for building this, I am just about to give it ago with my self-hosted Garage cluster.

Does running `stat` against a file require pulling the whole file from s3, or can that be handled by the metadata?

Do you know what backup performance is like for something like borg/borgmatic or restic, especially on follow up runs where most files are just checked.

Is there any particular Redis/Valkey config you recommend when using it for `conditional_put`, or just default config?

Is there any chance for NFSv4 support?

pierrebarre 7 hours ago | parent [-]

Thanks!

stat doesn’t pull the file contents from S3; it only accesses the metadata tree, which is usually cached.

I haven’t benchmarked Borg or Restic specifically. Sequential writes can comfortably reach several Gbit/s. For follow-up runs, if they only stat unchanged files, that should stay entirely in metadata.

The default Redis/Valkey configuration should work fine for conditional_put. NFSv4 is unlikely for now. It would add a lot of surface area, and I’m pretty happy with where the 9P extensions are today.

nubg 4 hours ago | parent | prev [-]

This blog post seems to have been written by an AI based on a prompt you gave it? Can you confirm or deny this?