---
name: "zfs-set"
section: "8"
platform: "freebsd"
package: "base"
version: "16.0-CURRENT-20261027-61c70dc16a79"
release: "FreeBSD 16.0-CURRENT (2026-10-27)"
platforms: ["linux", "freebsd"]
url: "https://new.carta.tech/zfs-get"
---

# zfs-set(8)

set properties on ZFS datasets

Part of [zfs-get(8)](/zfs-get/8.md).

## NAME

**zfs-set** – set properties on ZFS datasets

## SYNOPSIS

**zfs** **set** \[**-u**\] *property*=*value* \[*property*=*value*\]… *filesystem*\|*volume*\|*snapshot*…

**zfs** **get** \[**-r**\|**-d** *depth*\] \[**-Hp**\] \[**-j** \[*--json-int*\]\] \[**-o** *field*\[,*field*\]…\] \[**-s** *source*\[,*source*\]…\] \[**-t** *type*\[,*type*\]…\] **all**\|*property*\[,*property*\]… \[*filesystem*\|*volume*\|*snapshot*\|*bookmark*\]…

**zfs** **inherit** \[**-rS**\] *property* *filesystem*\|*volume*\|*snapshot*…

## DESCRIPTION

-

  **zfs** **set** \[**-u**\] *property*=*value* \[*property*=*value*\]… *filesystem*\|*volume*\|*snapshot*… Only some properties can be edited. See [zfsprops(7)](/zfsprops/7.md) for more information on what properties can be set and acceptable values. Numeric values can be specified as exact values, or in a human-readable form with a suffix of **B**, **K**, **M**, **G**, **T**, **P**, **E**, **Z** (for bytes, kilobytes, megabytes, gigabytes, terabytes, petabytes, exabytes, or zettabytes, respectively). User properties can be set on snapshots. For more information, see the *User* *Properties* section of [zfsprops(7)](/zfsprops/7.md).

  - **-u**

    Update mountpoint, sharenfs, sharesmb property but do not mount or share the dataset.

-

  **zfs** **get** \[**-r**\|**-d** *depth*\] \[**-Hp**\] \[**-j** \[*--json-int*\]\] \[**-o** *field*\[,*field*\]…\] \[**-s** *source*\[,*source*\]…\] \[**-t** *type*\[,*type*\]…\] **all**\|*property*\[,*property*\]… \[*filesystem*\|*volume*\|*snapshot*\|*bookmark*\]… Displays properties for the given datasets. If no datasets are specified, then the command displays properties for all datasets on the system. For each property, the following columns are displayed:

  - **name**

    Dataset name

  - **property**

    Property name

  - **value**

    Property value

  - **source**

    Property source **local**, **default**, **inherited**, **temporary**, **received**, or **-** (none).

  - **received**

    The received value of the property, if any. This column is not displayed by default.

    The **name**, **property**, **value**, and **source** columns are displayed by default, though this can be controlled by using the **-o** option. This command takes a comma-separated list of properties as described in the Native Properties and User Properties sections of [zfsprops(7)](/zfsprops/7.md).

    The value **all** can be used to display all properties that apply to the given dataset's type (**filesystem**, **volume**, **snapshot**, or **bookmark**).

    - **-j**, **--json** \[*--json-int*\]

      Display the output in JSON format. Specify **--json-int** to display numbers in integer format instead of strings for JSON output.

    - **-H**

      Display output in a form more easily parsed by scripts. Any headers are omitted, and fields are explicitly separated by a single tab instead of an arbitrary amount of space.

    - **-d** *depth*

      Recursively display any children of the dataset, limiting the recursion to *depth*. A depth of **1** will display only the dataset and its direct children.

    - **-o** *field*

      A comma-separated list of columns to display. Supported fields are **name**, **property**, **value**, **received**, **source**, or **all** to select all five columns. The default value is **name**,**property**,**value**,**source**.

    - **-p**

      Display numbers in parsable (exact) values.

    - **-r**

      Recursively display properties for any children.

    - **-s** *source*

      A comma-separated list of sources to display. Those properties coming from a source other than those in this list are ignored. Each source must be one of the following: **local**, **default**, **inherited**, **temporary**, **received**, or **none**. The default value is all sources.

    - **-t** *type*

      A comma-separated list of types to display, where *type* is one of **filesystem**, **snapshot**, **volume**, **bookmark**, or **all**. **fs**, **snap**, or **vol** can be used as aliases for **filesystem**, **snapshot**, or **volume**.

-

  **zfs** **inherit** \[**-rS**\] *property* *filesystem*\|*volume*\|*snapshot*… Clears the specified property, causing it to be inherited from an ancestor, restored to default if no ancestor has the property set, or with the **-S** option reverted to the received value if one exists. See [zfsprops(7)](/zfsprops/7.md) for a listing of default values, and details on which properties can be inherited.

  - **-r**

    Recursively inherit the given property for all children.

  - **-S**

    Revert the property to the received value, if one exists; otherwise, for non-inheritable properties, to the default; otherwise, operate as if the **-S** option was not specified.

## EXAMPLES

### Example 1 : No Creating a ZFS File System Hierarchy

The following commands create a file system named *pool/home* and a file system named *pool/home/bob*. The mount point */export/home* is set for the parent file system, and is automatically inherited by the child file system.

```
# zfs create pool/home
```

```
# zfs set mountpoint=/export/home pool/home
```

```
# zfs create pool/home/bob
```

### Example 2 : No Disabling and Enabling File System Compression

The following command disables the **compression** property for all file systems under *pool/home*. The next command explicitly enables **compression** for *pool/home/anne*.

```
# zfs set compression=off pool/home
```

```
# zfs set compression=on pool/home/anne
```

### Example 3 : No Setting a Quota on a ZFS File System

The following command sets a quota of 50 Gbytes for *pool/home/bob*:

```
# zfs set quota=50G pool/home/bob
```

### Example 4 : No Listing ZFS Properties

The following command lists all properties for *pool/home/bob*:

```
# zfs get all pool/home/bob
NAME           PROPERTY              VALUE                  SOURCE
pool/home/bob  type                  filesystem             -
pool/home/bob  creation              Tue Jul 21 15:53 2009  -
pool/home/bob  used                  21K                    -
pool/home/bob  available             20.0G                  -
pool/home/bob  referenced            21K                    -
pool/home/bob  compressratio         1.00x                  -
pool/home/bob  mounted               yes                    -
pool/home/bob  quota                 20G                    local
pool/home/bob  reservation           none                   default
pool/home/bob  recordsize            128K                   default
pool/home/bob  mountpoint            /pool/home/bob         default
pool/home/bob  sharenfs              off                    default
pool/home/bob  checksum              on                     default
pool/home/bob  compression           on                     local
pool/home/bob  atime                 on                     default
pool/home/bob  devices               on                     default
pool/home/bob  exec                  on                     default
pool/home/bob  setuid                on                     default
pool/home/bob  readonly              off                    default
pool/home/bob  zoned                 off                    default
pool/home/bob  snapdir               hidden                 default
pool/home/bob  acltype               off                    default
pool/home/bob  aclmode               discard                default
pool/home/bob  aclinherit            restricted             default
pool/home/bob  canmount              on                     default
pool/home/bob  xattr                 on                     default
pool/home/bob  copies                1                      default
pool/home/bob  version               4                      -
pool/home/bob  utf8only              off                    -
pool/home/bob  normalization         none                   -
pool/home/bob  casesensitivity       sensitive              -
pool/home/bob  vscan                 off                    default
pool/home/bob  nbmand                off                    default
pool/home/bob  sharesmb              off                    default
pool/home/bob  refquota              none                   default
pool/home/bob  refreservation        none                   default
pool/home/bob  primarycache          all                    default
pool/home/bob  secondarycache        all                    default
pool/home/bob  usedbysnapshots       0                      -
pool/home/bob  usedbydataset         21K                    -
pool/home/bob  usedbychildren        0                      -
pool/home/bob  usedbyrefreservation  0                      -
```

The following command gets a single property value:

```
# zfs get -H -o value compression pool/home/bob
on
```

The following command gets a single property value recursively in JSON format:

```
# zfs get -j -r mountpoint pool/home | jq
{
  "output_version": {
    "command": "zfs get",
    "vers_major": 0,
    "vers_minor": 1
  },
  "datasets": {
    "pool/home": {
      "name": "pool/home",
      "type": "FILESYSTEM",
      "pool": "pool",
      "createtxg": "10",
      "properties": {
        "mountpoint": {
          "value": "/pool/home",
          "source": {
            "type": "DEFAULT",
            "data": "-"
          }
        }
      }
    },
    "pool/home/bob": {
      "name": "pool/home/bob",
      "type": "FILESYSTEM",
      "pool": "pool",
      "createtxg": "1176",
      "properties": {
        "mountpoint": {
          "value": "/pool/home/bob",
          "source": {
            "type": "DEFAULT",
            "data": "-"
          }
        }
      }
    }
  }
}
```

The following command lists all properties with local settings for *pool/home/bob*:

```
# zfs get -r -s local -o name,property,value all pool/home/bob
NAME           PROPERTY              VALUE
pool/home/bob  quota                 20G
pool/home/bob  compression           on
```

### Example 5 : No Inheriting ZFS Properties

The following command causes *pool/home/bob* and *pool/home/anne* to inherit the **checksum** property from their parent.

```
# zfs inherit checksum pool/home/bob pool/home/anne
```

### Example 6 : No Setting User Properties

The following example sets the user-defined *com.example*:*department* property for a dataset:

```
# zfs set com.example:department=12345 tank/accounting
```

### Example 7 : No Setting sharenfs Property Options on a ZFS File System

The following commands show how to set **sharenfs** property options to enable read-write access for a set of IP addresses and to enable root access for system "neo" on the *tank/home* file system:

```
# zfs set sharenfs='rw=@123.123.0.0/16:[::1],root=neo' tank/home
```

If you are using DNS for host name resolution, specify the fully-qualified hostname.

## SEE ALSO

[zfsprops(7)](/zfsprops/7.md), [zfs-list(8)](/zfs-list/8.md)
