BSDCan2018 - 1.54

BSDCan 2018
The Technical BSD Conference

Allan Jude
Day Talks #2 - 9 June - 2018-06-09
Room DMS 1160
Start time 11:15
Duration 01:00
ID 947
Event type Lecture
Track System Administration
Language used for presentation English

Implementing ZSTD in OpenZFS on FreeBSD

The story of my journey through time and code to implementing ZSTD compression in OpenZFS on FreeBSD. Follow a novice developer through the initial naive attempt to add support for a new compression algorithm to ZFS, then through successive improvements and new stumbling blocks to ultimately arrive at a finished product.

  • What is ZSTD, and why might I want to use it

  • First attempt

  • Allocating memory in the kernel is harder than it looks

  • Ohh, you have to free that memory when you are finished it it..., what a scam

  • The first prototype

  • Alignment is a thing

  • C is hard

  • First working prototype

  • Matt Ahrens pokes holes in your dreams

  • Don't steal from future generations of ZFS

  • You forgot about the L2ARC

  • Getting it committed

  • Conclusions