# Checking ASHIFT On Existing Pools

So I have an existing pool that was created several years ago on an old build of FreeNAS, and I wanted to check and see if the ashift was set correctly for 4K, meaning I want an `ashift=12 (2^12=4096)`. What does a quick Google tell me to do?

```
[root@server] ~# zpool get all | grep ashift
[root@server] ~#
```

Huh… nothing. That’s odd.

```
[root@server] ~# zpool get all
NAME          PROPERTY                       VALUE                                       SOURCE
Array1        size                           2.72T                                       -
Array1        capacity                       13%                                         -
Array1        altroot                        /mnt                                        local
Array1        health                         ONLINE                                      -
Array1        guid                           4640375899101559431                         default
Array1        version                        -                                           default
Array1        bootfs                         -                                           default
Array1        delegation                     on                                          default
Array1        autoreplace                    off                                         default
Array1        cachefile                      /data/zfs/zpool.cache                       local
Array1        failmode                       continue                                    local
Array1        listsnapshots                  off                                         default
Array1        autoexpand                     on                                          local
Array1        dedupditto                     0                                           default
Array1        dedupratio                     1.00x                                       -
Array1        free                           2.36T                                       -
Array1        allocated                      364G                                        -
Array1        readonly                       off                                         -
Array1        comment                        -                                           default
Array1        expandsize                     -                                           -
Array1        freeing                        0                                           default
Array1        fragmentation                  12%                                         -
Array1        leaked                         0                                           default
Array1        feature@async_destroy          enabled                                     local
Array1        feature@empty_bpobj            active                                      local
Array1        feature@lz4_compress           active                                      local
Array1        feature@multi_vdev_crash_dump  enabled                                     local
Array1        feature@spacemap_histogram     active                                      local
Array1        feature@enabled_txg            active                                      local
Array1        feature@hole_birth             active                                      local
Array1        feature@extensible_dataset     enabled                                     local
Array1        feature@embedded_data          disabled                                    local
Array1        feature@bookmarks              enabled                                     local
Array1        feature@filesystem_limits      disabled                                    local
Array1        feature@large_blocks           disabled                                    local
freenas-boot  size                           14.2G                                       -
freenas-boot  capacity                       5%                                          -
freenas-boot  altroot                        -                                           default
freenas-boot  health                         ONLINE                                      -
freenas-boot  guid                           11011409209729808822                        default
freenas-boot  version                        -                                           default
freenas-boot  bootfs                         freenas-boot/ROOT/9.10-STABLE-201604261518  local
freenas-boot  delegation                     on                                          default
freenas-boot  autoreplace                    off                                         default
freenas-boot  cachefile                      -                                           default
freenas-boot  failmode                       wait                                        default
freenas-boot  listsnapshots                  off                                         default
freenas-boot  autoexpand                     off                                         default
freenas-boot  dedupditto                     0                                           default
freenas-boot  dedupratio                     1.00x                                       -
freenas-boot  free                           13.5G                                       -
freenas-boot  allocated                      773M                                        -
freenas-boot  readonly                       off                                         -
freenas-boot  comment                        -                                           default
freenas-boot  expandsize                     -                                           -
freenas-boot  freeing                        0                                           default
freenas-boot  fragmentation                  -                                           -
freenas-boot  leaked                         0                                           default
freenas-boot  feature@async_destroy          enabled                                     local
freenas-boot  feature@empty_bpobj            active                                      local
freenas-boot  feature@lz4_compress           active                                      local
freenas-boot  feature@multi_vdev_crash_dump  disabled                                    local
freenas-boot  feature@spacemap_histogram     disabled                                    local
freenas-boot  feature@enabled_txg            disabled                                    local
freenas-boot  feature@hole_birth             disabled                                    local
freenas-boot  feature@extensible_dataset     disabled                                    local
freenas-boot  feature@embedded_data          disabled                                    local
freenas-boot  feature@bookmarks              disabled                                    local
freenas-boot  feature@filesystem_limits      disabled                                    local
freenas-boot  feature@large_blocks           disabled                                    local
```

Looking at just the `zpool get all` output, looks like the ashift attribute is missing. I’m guessing that the ashift attribute wasn’t specified upon pool creation, leaving it up to the drive to report whether it is a 4K drive or not. Another round of Google reveals the `zdb -C` command. Let’s try that.

```
[root@server] ~# zdb -C | grep ashift
            ashift: 9
```

Huh. `ashift=9` means 512… and that’s no good. But wait…

```
[root@server] ~# zdb -C
freenas-boot:
    version: 5000
    name: 'freenas-boot'
    state: 0
    txg: 95367
    pool_guid: 11011409209729808822
    hostid: 2882373074
    hostname: ''
    vdev_children: 1
    vdev_tree:
        type: 'root'
        id: 0
        guid: 11011409209729808822
        create_txg: 4
        children[0]:
            type: 'disk'
            id: 0
            guid: 14099280634272200775
            path: '/dev/da0p2'
            whole_disk: 1
            metaslab_array: 30
            metaslab_shift: 27
            ashift: 9
            asize: 15370551296
            is_log: 0
            create_txg: 4
    features_for_read:
```

zdb is only listing the USB boot drive. Back to Google and we get…

```
[root@server] ~# zdb -U /data/zfs/zpool.cache
Array1:
    version: 5000
    name: 'Array1'
    state: 0
    txg: 8520213
    pool_guid: 4640375899101559431
    hostid: 2882373074
    hostname: 'server.workgroup'
    vdev_children: 1
    vdev_tree:
        type: 'root'
        id: 0
        guid: 4640375899101559431
        children[0]:
            type: 'raidz'
            id: 0
            guid: 7207720561268687283
            nparity: 1
            metaslab_array: 35
            metaslab_shift: 34
            ashift: 12
            asize: 2994157387776
            is_log: 0
            create_txg: 4
            children[0]:
                type: 'disk'
                id: 0
                guid: 2714791811722168437
                path: '/dev/gptid/cca60fe6-5031-11e4-9120-001bb9ed2d38'
                whole_disk: 1
                DTL: 204
                create_txg: 4
            children[1]:
                type: 'disk'
                id: 1
                guid: 6091442355483197824
                path: '/dev/gptid/cd472cc3-5031-11e4-9120-001bb9ed2d38'
                whole_disk: 1
                DTL: 163
                create_txg: 4
            children[2]:
                type: 'disk'
                id: 2
                guid: 1150763296991461133
                path: '/dev/gptid/21338e8c-25ea-11e6-a898-3cd92b0298a8'
                whole_disk: 1
                DTL: 377
                create_txg: 4
    features_for_read:
        com.delphix:hole_birth
```

There we go. Now let’s that down.

```
[root@server] ~# zdb -U /data/zfs/zpool.cache | grep ashift
            ashift: 12
```

And we have our answer.

[Original Article](https://wikipedia.mutschlerhome.com/attachments/22)