zfsp

Infrastructure

filesystem

SHOW HN2019

411points
86comments
#48of 2,195 in 2019
Top 3%of 2019 by points

How HN took it

MixedNo clear lean

7 positive, 10 neutral or asking, 2 mixed, 11 critical, out of 30 comments about the project. Thread score +0.04.

Idea: 4 for, 2 againstPerformance: 0 for, 5 againstDesign: 0 for, 3 againstDocs: 0 for, 1 against

The thread, comment by comment

Each row is a top-level comment and its replies, in HN's order. Select a cell to open that comment on HN.

positive neutral or mixed critical about another commenter or something else the maker

What HN said

What people liked

  • Impressive and fun reverse-engineering work

    From 3 comments
    • What?! How?! Why?! This is the greatest thing ever. I wish I could just write code for the fun of it. Every time I wonder whether people will use it and give up before I even get…
      AlexanderDhoore on HN
    • Hell yeah, dude. This is awesome.
      gaze on HN
    • This is all kinds of funny. I'm awash with awe and admiration.
      RantyDave on HN
  • Useful as a documented reference implementation for other ports

    From 1 comment
    • It's capable of doing IO against a real ZFS array without any other code. ARC is an implementation detail and not necessary for correctness. If you removed ARC from ZoL it would…
      lunixbochs on HN

Objections

  • Python is too slow for a filesystem

    From 3 comments
    • PyPy is faster than Python, yes. But Go, C and many other (compiled) languages are way faster than PyPy. Plus, if you use a language like Go or Rust then you avoid Python's GIL…
      cure on HN
    • Maybe plenty fast for most applications but a filesystem is not one of these IMHO, especially for something as naturally resource hungry as ZFS. A good filesystem implementation…
      GuB-42 on HN
    • > Plus, if you use a language like Go or Rust then you avoid Python's GIL No, but then you run into Go's GC and green threads. File systems fit squarely in the realms of "systems…
      deaddodo on HN
  • Title overstates it; it is a userspace reader, not a full ZFS implementation

    From 3 comments
    • Bad title. It’s not a ZFS implementation, so hold your horses.
      lelf on HN
    • You don’t need CDDL to use ZFS. Which is all the library does. It does not implement ZFS.
      lelf on HN
    • No ARC/L2ARC? Edit: of course not. This is actually just it’s just a ZFS user-facing ”front-end”, not a ZFS implementation.
      lelf on HN

Requests

  • Write-up of the reverse-engineering process

    From 1 comment
    • This is awesome! Do you plan on blogging anything about how you went about reverse-engineering?
      4oo4 on HN
  • Zfs send/receive compatibility

    From 1 comment
    • Might be interesting/useful to aim for zfs send/receive compatibility :) And thanks for the Borges callout.
      randrus on HN

Questions

  • Whether the CDDL applies to this implementation

    From 2 comments
    • Would the CDDL matter for a python implementation that will never become part of the kernel?
      newnewpdro on HN
    • You'd want a reverse-engineering lawyer, so be certain. But my (IANAL) guess is: If this is a proper reverse-engineered implementation, you could then convert _this_…
      CaliforniaKarl on HN
  • How the implementation was built without a specification

    From 1 comment
    • Pierre Menard, author of The Filesystem. But I'm surprised this is possible without a specification - how can you test a filesystem through hexdumps? The effects of some…
      ivanbakel on HN

Alternatives named

  • TFS, a ZFS-inspired filesystem in Rust

    From 1 comment
    • There's also TFS a ZFS inspired FS in Rust https://github.com/redox-os/tfs
      adamnemecek on HN
  • ZboxFS, a userspace filesystem

    From 1 comment
    • There is an userspace implementations of filesystems ZboxFS: https://github.com/zboxfs/zbox.
      burmecia on HN

Category, keywords, summaries and labels on this page were made by AI (Thread Reader v2) and not checked by hand. Each point links to the comments it came from.

Add a badge to your READMEShown on HackerShow
[![Shown on HackerShow](https://hackershow.org/badge.svg)](https://hackershow.org/show/19827336)