The holy grails of ZFS

Not open for further replies.


May 17, 2014
I have been thinking on the recent changes to OpenZFS. Here is a list of the highly sought after features. Some done, some in progress and others just a pie in the sky.
  • Async dataset destroy - been available for MANY years
  • Native encryption - close to release, (not yet in ZFS on Linux release)
  • single disk vDev removal - probably 1 year out
  • Meta-device for metadata, similar to SLOG - 1 year out?
  • DRAID vDev type - about 1 to 2 years out
  • Dataset / zVol limited scrubs - 2 years out
  • RAID-Zx expansion by 1 disk at a time - may be 2 years out
  • Off line file system check & or scrub - status unknown
  • Pool import with missing vDevs - early in design
  • Microsoft Windows support - very early, so bleeding edge it may never see daylight
  • General purpose vDev removal - when pigs fly without catapults
  • Block pointer re-write - when hell freezes over
So, what would you add to the holy grail list for ZFS?
And why?

Some people may consider the first one absolutely nothing, and never even think about. But, I was working AT Sun Microsystems in 2008 & 2009. We had to listen to customers complain that they attempted to delete a huge dataset. It seemed to lock up, so they rebooted. And now are stuck waiting for the ZFS synchronous dataset destroy to complete before they can use their server. Async destroy fixes that. Even to the point of making freed storage available for re-use as soon as it's freed!

As for the pool import with missing vDev(s), this one is tricky. If you have a dataset or zVol that has 2 copies, you may be able to restore 100% of that specific, limited data. But today, with a failed / missing vDev, you have to restore from backups, 100% of the time.


Jun 2, 2016
Defragmentation... requires BPRW, so hell freezes over.
De-de-duplication, or alternatively, resource efficient de-dupe, which I actually think is in progress.


Server Wrangler
Feb 15, 2014
single disk vDev removal - probably 1 year out
That one's already in the FreeNAS nightlies, cherry-picked from FreeBSD 12, IIRC.

RAID-Zx expansion by 1 disk at a time - may be 2 years out
That one has early code in place, possibly with a live demo at BSDcan. Still Beta and subject to change.

Pool import with missing vDevs - early in design
I'm pretty sure that one is also in the nightlies. I know they have the brand-new improved import code that turns many panics into (semi-)recoverable pools.

As for holy grail, it's definitely BPR, because it enables a lot:
  • Arbitrary vdev removal
  • changing ashift
  • defrag
  • Filesystem-level tiered performance (first write uncompressed for minimum latency, later, when idling, compress it to hell and back)
  • Changing properties in place (anything but encryption, due to its special needs)
And I'm definitely forgetting something.
Not open for further replies.