+++
title = "setting zpool features"
date = "2014-12-10T13:40:27+00:00"
author = "Gibheer"
draft = false
+++

Before SUN was bought by Oracle, OpenSolaris had ever newer versions and
upgrading was just an

    $ zpool upgrade rpool

away. But since then, the open source version of ZFS gained feature flags.

    POOL  FEATURE
    ---------------
    tank1
          multi_vdev_crash_dump
          enabled_txg
          hole_birth
          extensible_dataset
          embedded_data
          bookmarks
          filesystem_limits

If you want to enable only one of these features, you may have already hit the
problem, that `zpool upgrade` can only upgrade one pool or all.

The way to go is to use `zpool set`. Feature flags are options on the pool and
can also be listed with `zpool get`.

    $ zpool get all tank1 | grep feature
    tank1  feature@async_destroy          enabled                        local
    tank1  feature@empty_bpobj            active                         local
    tank1  feature@lz4_compress           active                         local
    tank1  feature@multi_vdev_crash_dump  disabled                       local
    ...

Enabling a feature, for example _multi_vdev_crash_dump_, would then be

    $ zpool set feature@multi_vdev_crash_dump=enabled tank1

It will then disappear from the `zpool upgrade` output and be set to enabled
active in `zpool get`.
