63 pointsby cbrewster9 hours ago7 comments
  • pierrebarre5 hours ago
    Author here. Thanks for posting this!

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

    • tandr4 hours ago
      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_duke2 hours ago
      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)

    • chillfox5 hours ago
      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?

      • pierrebarre5 hours ago
        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.

    • nubg2 hours ago
      This blog post seems to have been written by an AI based on a prompt you gave it? Can you confirm or deny this?
  • hhthrowaway12305 hours ago
    I really want this, but it feels a little scary to trust all my files. I wouls like it if there was some contineous suite trying to corrupt the files and then see the failure cases!
    • 5 hours ago
      undefined
    • pierrebarre5 hours ago
      That’s a fair concern. The closest thing right now is a deterministic simulation suite that injects storage faults and crashes at arbitrary points, then checks the recovered data against reference models. It runs hourly with fresh seeds.

      CI also runs pjdfstest, xfstests, stress-ng, ZFS scrubs, and Jepsen crash/failover tests: https://github.com/Barre/ZeroFS#testing

      ZeroFS is still pretty young as storage projects go, so I completely understand wanting to see it prove itself over time.

      • ahofmann5 hours ago
        Why the hell was this answer dead? I vouched for it, because I don't see what might be wrong with it.
  • Lucasoato6 hours ago
    The article diagrams can’t be seen well if the device has the dark mode as default, just a suggestion for the author.

    Opened with Safari in iOS

    • bayesnet2 hours ago
      The page appears to be dark themed even without dark mode enabled; if I use Noir to force-add dark mode, then the diagrams indeed become difficult to read but this seems like a Noir issue more than a site issue
    • smartbit5 hours ago
      I have the same in Brave on iOS: to see the the diagrams I need to turn of Night Mode.
    • ranger_danger5 hours ago
      I only saw one diagram but it is perfectly visible for me on the desktop.
  • hhthrowaway12305 hours ago
    Also would love to know how was we could iterate over the files. ie a bit how duckdb allows for paruet fikes scanning and reading would be nice to see how fast we can query the fs for ai/ml training workloads
  • 5 hours ago
    undefined
  • jijji2 hours ago
    s3 is expensive... there are a lot of cheap options. I think I pay $48/month for a linux vps with 8 cpus and 16tb of storage with interserver.net... the same storage on amazon s3 is $377/month lol
    • Onavo2 hours ago
      Their bandwidth costs are overpriced yes but in terms of storage you are paying for RAID3 replicated across three data centers (configurable) and high availability. The engineering behind it is also formally verified with strict theoretical bounds on data loss. $48*3 = ~$150 is within the same ballpark if you factor in the managed services and cloud overhead.
  • sieabahlpark2 hours ago
    [dead]