HackerReposA FIELD GUIDE TO OPEN SOURCE
ProSponsor the shelf♧ 0
← Back to top all-time
openzfs
zfs
C2013–2026
openzfs / zfs

zfs

OpenZFS on Linux and FreeBSD

226Distinct people
423Mentions
4Explicit recommenders
12.6KGitHub stars
REPOSITORY AT A GLANCE

What to know before exploring

What it is

OpenZFS on Linux and FreeBSD

GitHub

Where it is used

No documented product use was verified in the last source check.

What people are saying

I will soon prepare some scripts to do that, but I first want to confirm the core ideas and design something that I will only have to do once, and the discussion on…

csdvrx used a recommendation phrase. 4 indexed comments match. This is a phrase match, not a verdict.

No classified warning is attached to this page. Read the discussions before treating silence as approval.

Also in these discussions

Mentioned in the same Hacker News threads. That is not proof they are substitutes.

This week on Hacker News

Nov 8–Nov 15 UTC · Direct repository links and separately labeled related project stories. Indexed through 11/15/2026, 12:03:30 PM UTC.

Mentions over time

HN mentions by year423 dated mentions

Observed mentions: 2013-03-29 20:43:14 UTC to 2026-10-12 18:23:23 UTC.

0204060802013-01-01 00:00:00 UTC to 2014-01-01 00:00:00 UTC (exclusive): 2 mentions; 0 submissions, 2 comments20132014-01-01 00:00:00 UTC to 2015-01-01 00:00:00 UTC (exclusive): 17 mentions; 0 submissions, 17 comments2015-01-01 00:00:00 UTC to 2016-01-01 00:00:00 UTC (exclusive): 3 mentions; 2 submissions, 1 comments2016-01-01 00:00:00 UTC to 2017-01-01 00:00:00 UTC (exclusive): 25 mentions; 3 submissions, 22 comments2017-01-01 00:00:00 UTC to 2018-01-01 00:00:00 UTC (exclusive): 32 mentions; 4 submissions, 28 comments2018-01-01 00:00:00 UTC to 2019-01-01 00:00:00 UTC (exclusive): 10 mentions; 2 submissions, 8 comments2019-01-01 00:00:00 UTC to 2020-01-01 00:00:00 UTC (exclusive): 29 mentions; 9 submissions, 20 comments20192020-01-01 00:00:00 UTC to 2021-01-01 00:00:00 UTC (exclusive): 50 mentions; 14 submissions, 36 comments2021-01-01 00:00:00 UTC to 2022-01-01 00:00:00 UTC (exclusive): 29 mentions; 8 submissions, 21 comments2022-01-01 00:00:00 UTC to 2023-01-01 00:00:00 UTC (exclusive): 31 mentions; 3 submissions, 28 comments2023-01-01 00:00:00 UTC to 2024-01-01 00:00:00 UTC (exclusive): 86 mentions; 13 submissions, 73 comments2024-01-01 00:00:00 UTC to 2025-01-01 00:00:00 UTC (exclusive): 40 mentions; 6 submissions, 34 comments2025-01-01 00:00:00 UTC to 2026-01-01 00:00:00 UTC (exclusive): 59 mentions; 7 submissions, 52 comments2026-01-01 00:00:00 UTC to 2027-01-01 00:00:00 UTC (exclusive): 10 mentions; 3 submissions, 7 comments. Incomplete calendar period.2026*

* An incomplete calendar period is marked with an outlined bar. Its count is not directly comparable with a full period.

Counts come from the repository’s dated source evidence. Index cutoff: 2026-11-02 08:16:59 UTC.

View mention counts and date ranges
UTC ranges include their start and exclude their end. Select a period to filter the source evidence.
PeriodStart (UTC)End (exclusive, UTC)MentionsSubmissionsComments
20132013-01-01 00:00:00 UTC2014-01-01 00:00:00 UTC202
20142014-01-01 00:00:00 UTC2015-01-01 00:00:00 UTC17017
20152015-01-01 00:00:00 UTC2016-01-01 00:00:00 UTC321
20162016-01-01 00:00:00 UTC2017-01-01 00:00:00 UTC25322
20172017-01-01 00:00:00 UTC2018-01-01 00:00:00 UTC32428
20182018-01-01 00:00:00 UTC2019-01-01 00:00:00 UTC1028
20192019-01-01 00:00:00 UTC2020-01-01 00:00:00 UTC29920
20202020-01-01 00:00:00 UTC2021-01-01 00:00:00 UTC501436
20212021-01-01 00:00:00 UTC2022-01-01 00:00:00 UTC29821
20222022-01-01 00:00:00 UTC2023-01-01 00:00:00 UTC31328
20232023-01-01 00:00:00 UTC2024-01-01 00:00:00 UTC861373
20242024-01-01 00:00:00 UTC2025-01-01 00:00:00 UTC40634
20252025-01-01 00:00:00 UTC2026-01-01 00:00:00 UTC59752
2026 (partial)2026-01-01 00:00:00 UTC2027-01-01 00:00:00 UTC1037

From the project README

An excerpt from the repository, fetched Nov 12, 2026.

Read the project’s introduction
OpenZFS is an advanced file system and volume manager which was originally developed for Solaris and is now maintained by the OpenZFS community. This repository contains the code for running OpenZFS on Linux and FreeBSD. Official Resources Documentation - for using and developing this repo ZoL site - Linux release info & links Mailing lists OpenZFS site - for conference videos and info on other platforms (illumos, OSX, Windows, etc) Installation Full documentation for installing OpenZFS on your favorite operating system can be found at the Getting Started Page. Contribute & Develop We have a separate document with contribution guidelines. We have a Code of Conduct. Release OpenZFS is released under a CDDL license. For more details see the NOTICE, LICENSE and COPYRIGHT files; UCRL-CODE-235197 Supported Kernels and Distributions Linux Given the wide variety of Linux environments, we prioritize development and testing on stable, supported kernels and distributions. Kernel (kernel.org) All longterm kernels from kernel.org are supported. stable kernels are usually supported in the next OpenZFS release. Supported longterm kernels: 6.18, 6.12, 6.6, 6.1, 5.15, 5.10. Red Hat Enterprise Linux (RHEL) All RHEL (and compatible systems: AlmaLinux OS, Rocky Linux, etc) on the full or maintenance support tracks are supported. Supported RHEL releases: 8.10, 9.7, 10.1. Ubuntu All Ubuntu LTS releases are supported. Supported Ubuntu releases: 26.04 “Resolute”, 24.04 “Noble”, 22.04 “Jammy”. Debian All Debian stable and LTS releases are supported. Supported Debian releases: 13 “Trixie”, 12 “Bookworm”, 11 “Bullseye”. Other Distributions Generally, if a distribution is following an LTS kernel, it should work well with OpenZFS. FreeBSD All FreeBSD releases receiving security support are supported by OpenZFS. Supported FreeBSD releases: 15.1, 14.4.
Read the full README on GitHub

What Hacker News says

17 sources
It is easy to get confused and it could happen to anyone. That said, the only thing in the code remotely similar to "compound corruption" is logic for preventing such a scenario, which has the following comment: /* * Don't rewrite known good children. * Not only is it unnecessary, it could * actually be harmful: if the system lost * power while rewriting the only good copy, * there would be no good copies left! */ https://github.com/zfsonlinux/zfs/blob/master/module/zfs/vde... That touches more than obvious at a glance because the mirror code is used for processing both mirrors and ditto blocks.
In Is ZFS a suitable replacement for other Linux filesystems?
Setting zfs_dedup_prefetch=0 has been found to help systems using ZFS data deduplication. There is a patch in ZoL HEAD for the next release that makes zfs_dedup_prefetch=0 by default: https://github.com/zfsonlinux/zfs/commit/0dfc732416922e1dd59... Aside from that, you are right that there has not been much done here. Making data deduplication more performant is a difficult task and so far, no one has proposed improvements beyond trivial changes.
In Is ZFS a suitable replacement for other Linux filesystems?
They both work, with two caveats: 1. ZoL is currently incompatible with kernels built with either PAX_USERCOPY_SLABS or PAX_KERNEXEC_PLUGIN_METHOD_OR. The next release should fix PAX_USERCOPY_SLABS and might fix PAX_KERNEXEC_PLUGIN_METHOD_OR. The former should be fixed by a kmem-rework that the project plans to merge before the next release: https://github.com/zfsonlinux/spl/pull/369 https://github.com/zfsonlinux/zfs/pull/2411 The fix requires both pull requests, but I have yet to refresh the second pull request with the fix. I plan to refresh it before I leave for LinuxCon Europe 2014. The latter might be fixed by changes to drop support for pre-2.6.32 kernels that the project lead would prefer to merge for the next release: https://github.com/zfsonlinux/spl/pull/395 2. There is a bug specific to ZoL where unlinking a file with a directo
Read the rest
ry extended attribute (Solaris-style) will trigger a full traversal of all objects (i.e. inodes) within a dataset. It manifests itself as the zfs_iput_taskq kernle thread consuming excessive CPU time. It is fixed for the next release: https://github.com/zfsonlinux/zfs/commit/0d5c500d6cf4dd9e133...
In Is ZFS a suitable replacement for other Linux filesystems?
I mentioned most of these issues in the supplementary blog posts. Here is where each stands: * There are issues when upgrading because the initramfs can store an old copy of the kernel module and the /dev/zfs interface is not stabilized. This will be addressed in the next 6 months by a combination of two things. The first is /dev/zfs stabilization. The second is bootloader support for dynamic generation of initramfs archives. syslinux does this, but it does not at this time support ZFS. I will be sending Peter Alvin patches to add ZFS support to syslinux later this year. Systems using the patched syslinux will be immune to this problem while systems using GRUB2 will likely need to rely on the /dev/zfs stabilization. * There are many people who do not have problems, but this is certainly possible. Much of the weirdness should be fixed in 0
Read the rest
.6.4. In particular, I seem to have fixed a major cause of rare weirdness in the following pull requests, which had the side benefit of dramatically increasing performance in certain workloads: https://github.com/zfsonlinux/spl/pull/369 https://github.com/zfsonlinux/zfs/pull/2411 * The above pull requests have a fairly dramatic impact on NFS performance. Benchmarks shown to me by SoftNAS indicate that all performance metrics have increased anywhere from 1.5 to 3 times. Those patches have not yet been merged as I need to address a few minor concerns from the project lead, but those will be rectified in time for 0.6.4. Additional benchmarks by SoftNAS have shown that the following patch that was recently merged increases performance another 5% to 10% and has a fairly dramatic effect on CPU utilization: https://github.com/zfsonlinux/zfs/commit/cd3939c5f06945a3883... * There is opportunity for improvement in this area, but it is hard for me to tell what you mean. In particular, I am not certain if you mean minimum latency, maximum latency, average latency or the distribution of latency. In the latter case, the following might be relevant: https://twitter.com/lmarsden/status/383938538104184832/photo... That said, I believe that the kmem patches that I linked above will also have a positive impact on SSDs. They reduce contention in critical code paths that affect low latency devices. Additionally, there is at least one opportunity to improve our latencies. In particular, ZIL could be modified to use Force Unit Access instead of flushes. The problem with this is that not all devices honor Force Unit Access, so making this change could result in data loss. It might be possible to safely make it on SLOG devices as I am not aware of any flash devices that disobey Force Unit Access. However, data integrity takes priority. You can test whether a SLOG device would make a difference in latencies by setting sync=disabled temporarily for the duration of your test. All improvements in the area of SLOG devices will converge toward the performance of sync=disabled. If sync=disabled does not improve things, the bottleneck is somewhere else. * These alternatives operate on the block device level and add opportunity for bugs to cause cache coherence problems that are damaging to a filesystem on top. They are also unaware of what is being stored, so they cannot attain the same level of performance as a solution that operates on internal objects.
In The State of ZFS on Linux
Before I answer that, let me say that ZFS has two options for the storage of virtual disk for virtual machines. The first is the traditional file. The second is the zvol. The zvol is a virtual block device that is a lower overhead option than a traditional file. The default internal records (blocks) vary for each. On datasets where files are stored, this is called the recordsize and it is 128KB by default. This is a per file property that is set with the value of the dataset's recordsize at the time of creation. On zvols, the volblocksize is 8KB by default. This is set at the time of creation of the zvol. In both cases, partial block writes cause a read-modify-write penalty and typically, zvols are more performant by default. At the same time, LZ4 compression seems to have the counterintuitive consequence of making the larger recordsize a
Read the rest
bout equal in performance in filebench tests that I have done, so it is hard to say which is ultimately better. It is also worth noting that there are several improvements in the pipeline for ZoL zvols that should improve its performance: https://github.com/zfsonlinux/zfs/pull/2484 With that introduction out of the way, the actual answer to your first question is that it is very dependent on your workload, so I cannot provide a solid answer, but I can discuss my own personal experience. I am involved with ZoL because I was interested in the performance of virtual storage for a home server in 2011. The technology at the time could not compare to ZoL and as far as I know, still cannot compare. In specific, I had 6x Samsung HD204UI drives connected to an AMD Phenom X6 1090T. A configuration with MD RAID 6 + LVM + ext4 did not manage more than 20MB/sec, regardless of whether I used KVM or Xen. A raidz2 configuration using ZFSOnLinux did 220MB/sec. someone with 4 disk recently had a similar experience about a week ago where MD RAID 5 + LVM + XFS and could not get more than 44MB/sec while a ZFS raidz1 configuration managed 210MB/sec if I recall correctly. As for how ZFS is better/worse than btrfs, ZFS has several advantages in terms of its implementation. In specific, it has ARC that provides a scan resistant cache to maintain performance consistent. It has L2ARC for using flash to extend that cache. It has the ZFS Intent Log, which allows it to avoid blocking on expensive full merkle tree updates. This has allowed ZFS to outperform btrfs in ways that amazed the btrfs developers: http://comments.gmane.org/gmane.comp.file-systems.btrfs/2754... It has SLOG devices to allow flash to be used to accelerate ZIL. It also has a custom IO elevator that does a very good job of ensuring performance consistency: https://twitter.com/lmarsden/status/383938538104184832/photo... Quite honestly, here are the 5 hypothical areas in terms of where performance can be in any given comparison and what I expect the distribution to be: 1. Areas where ZFS significant outperforms btrfs. I expect there are many of these. 2. Areas where ZFS slightly outperforms btrfs. I expect that there are many of these. 3. Areas where ZFS and btrfs are equal. I expect that there are some of these. 4. Areas where btrfs slightly outperforms ZFS. I think some of these probably exist. 5. Areas where btrfs significant outperforms ZFS. I do not expect any of these to exist. If they do, they indicate bugs in the ZFS kernel driver that need to be corrected. The areas where I think btrfs might significantly outperform ZFS today are: 1. Uncached directory lookups (getdents performance). ZFS does not currently have directory prefetching and btrfs might. This only affects cold cache performance, so it does not affect production usage and has been a low priority. It will likely be fixed in the next 12 months. 2. Small file performance. btrfs does block suballocation while ZFS does not. This should change in 0.6.4 when ZFS will begin storing small files in the dnode (the ZFS equivalent of the inode). That said, there is nothing I or anyone can say that is a valid substitute for your own testing and I encourage you to run your own tests. I hope that this answers your question.
In The State of ZFS on Linux
Wow! Thanks for your reply. I've experienced some minor issues with severe broken disks where the SPL layer discards the disk but the zpool is still online. It's not a major issue and I've yet to encounter the issue again I've already filed a related bug: https://github.com/zfsonlinux/zfs/issues/2508 but I'm not an expert. If I can gather more data I'll try to submit as much data and hints I can find. As for cgroups blkio - there is already a bug report: https://github.com/zfsonlinux/zfs/issues/1952 Sorry. It was not my intention to suggest that ZFS does not compile on new kernel versions. I've never had problems with that. I just wanted to point out that it's not in the mainline kernel and for some people that might be important. Thanks for your great work on ZoL! It made my life a lot easier :)
In The State of ZFS on Linux
Below are a few remarks: To expand on your LZ4 comment, LZ4 is 3 times faster than LZO at decompression: https://code.google.com/p/lz4/ However, LZ4's real innovation is on incompressible data. I do not have a reference at the moment, but there have been benchmarks on the userland lz4 tool on incompressible data that show it processing 10GB/sec. This is because LZ4 uses a hash table that enables it to give up when trying to compress data far sooner than other lempel-ziv implementations do. As for stability, it is hard to for me to tell what you mean by that, but I just wrote a series of blog posts on the topic. If there are any outstanding issues not listed there, please file an issue on github: https://github.com/zfsonlinux/zfs/issues/new I also encourage you to file an issue requesting support for cgroup bsaed IO throttling. You are the
Read the rest
first person to mention it. As for not compiling with new kernels, the 0.6.3 release supports Linux 2.6.26 to Linux 3.16 while HEAD adds support for Linux 3.17 release candidates. I briefly touched on the rootfs on ZFS issue in my blog post. I plan to add ZFS support to syslinux in the near future as per a discussion that I had with Peter Alvin at LinuxCon North America 2014. I expect this to resolve the issue for those willing to use syslinux as their bootloader.
In The State of ZFS on Linux
Your deadlock was likely caused by the sole regression to get by us in the 0.6.2 release: https://github.com/zfsonlinux/zfs/commit/a117a6d66e5cf1e9d4f... This occurred because it was rare enough that neither us nor the buildbots caught it back in Feburary. George Wilson wrote a fix for it in Illumos rather promptly. However, Illumos and ZoL projects had different formats for the commit titles of regression fixes. In specific, the Illumos developers would reuse the same exact title while the ZoL developers would generally expect a different title, so we missed it when merging work done in Illumos. I caught it in November when I was certain that George had made a mistake and noticed that our code and the Illumos code was different. It is fixed in 0.6.3. The fix was backported to a few distribution repositories, but not to all of them. The 0
Read the rest
.6.3 release was notable for having a very long development cycle. As I described in the blog post, the project will begin doing official bug fix releases when 1.0 is tagged. That should ensure that these fixes become available to all distributions much sooner. In the mean time, future releases are planned to have much shorter development cycles than 0.6.3 had, so fixes like this will become available more quickly. That being said, I was at the MongoDB office in NYC earlier this year to troubleshoot poor performance on MongoDB. I will refrain from naming the MongoDB developer with whom I worked lest he become flooded with emails, but my general understanding is that 0.6.3 resolved the performance issues that the MongoDB had observed. Future releases should further increase performance.
In The State of ZFS on Linux
Tried using ZFS in the earnest and got spooked, felt it was not production ready. Wanted to use ZFS for MongoDB on Amazon Linux (primarily for compression, but also for snapshot functionality for backups). Tried 0.6.2. Ended up running into a situation where a snapshot delete hung and none of my ZFS commands were returning. The snapshot delete was not killable with kill -9. https://github.com/zfsonlinux/zfs/issues/1283 Also, under load encountered a kernel panic or a hang (I forget), turns out it's because the Amazon Linux kernel comes compiled with no preemption. It seems that "voluntary preemption" is the only setting that's reliable. https://github.com/zfsonlinux/zfs/issues/1620 That left a bad taste in my mouth. Might be worth trying out 0.6.3 again. I am still leafing through the issues closed in 0.6.3, but based on what I see, 0.6.2
Read the rest
did not seem production-ready-enough for me: https://github.com/zfsonlinux/zfs/issues?page=2&q=is%3Aissue...
In The State of ZFS on Linux
The share support is one of the few things in ZoL that I do not actually use, so I cannot make a definitive statement on this topic. At present, the project does not have regression tests in the LLNL buildbot. The majority of the enabling work in this area was done by Turbo Fredriksson. https://github.com/zfsonlinux/zfs/commits?author=FransUrbo I would emailing the zfs-discuss mailing list with Turbo on CC to ask: http://zfsonlinux.org/lists.html https://github.com/zfsonlinux/zfs/commits?author=FransUrbo Additionally, I am aware of some SMB improvements by Turbo that are currently pending review. They are scheduled for inclusion into 0.6.4 provided that no issues are found during review: https://github.com/zfsonlinux/zfs/pull/1476
In The State of ZFS on Linux
At present, you need to either encrypt the block devices beneath ZFS via LUKS or the filesystem on top of ZFS via ecryptfs. There are some guides on how to do this for each distribution. There is an open issue for integrating encryption into ZoL itself: https://github.com/zfsonlinux/zfs/issues/494 This will likely be added to ZoL in the future, but no one is actively working on it at this time.
In The State of ZFS on Linux

Showing the 15 most recent of 17 sources. Enable JavaScript to search and browse every indexed mention.

MAKE YOURSELF AT HOME

A few shortcuts

/
Search the collection
?
Open this guide
Esc
Close dialogs and navigation

Your saved repositories and interests stay in this browser.