Vdev Properties

Talk by Allan Jude at OpenZFS Developer Summit 2018:

vdev Properties

This is an overview of my progress and future plans for the per-vdev properties feature I have come up with inspired by our conversation at the ZFS User Conference 2018.

It includes exposing a bunch of internal counters and other useful data, including much of the data you can only currently get via zpool status, but in a much more readable way:

NAME  PROPERTY            VALUE    SOURCE media readerrors@c1t0d0   0        - 2.98T
 * 1) zpool get readerrors@c1t0d0 tank
 * 1) zpool get -Ho alloc@mirror-2 tank

As well as control settings. One of the ideas that came up during our conversation was: If I want to remove 3 mirror sets, how do I keep the removal of the first from writing additional data to the sets I plan to remove next:


 * 1) zpool set noalloc@c1t0d1=on tank

I also envision this possibly being useful for George Wilson's time-dependent geometry (ashift) changes from the hackathon last year.