xref: /freebsd/sys/contrib/openzfs/man/man8/zfs-set.8 (revision a64729f5077d77e13b9497cb33ecb3c82e606ee8)
1.\"
2.\" CDDL HEADER START
3.\"
4.\" The contents of this file are subject to the terms of the
5.\" Common Development and Distribution License (the "License").
6.\" You may not use this file except in compliance with the License.
7.\"
8.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
9.\" or https://opensource.org/licenses/CDDL-1.0.
10.\" See the License for the specific language governing permissions
11.\" and limitations under the License.
12.\"
13.\" When distributing Covered Code, include this CDDL HEADER in each
14.\" file and include the License file at usr/src/OPENSOLARIS.LICENSE.
15.\" If applicable, add the following below this CDDL HEADER, with the
16.\" fields enclosed by brackets "[]" replaced with your own identifying
17.\" information: Portions Copyright [yyyy] [name of copyright owner]
18.\"
19.\" CDDL HEADER END
20.\"
21.\" Copyright (c) 2009 Sun Microsystems, Inc. All Rights Reserved.
22.\" Copyright 2011 Joshua M. Clulow <josh@sysmgr.org>
23.\" Copyright (c) 2011, 2019 by Delphix. All rights reserved.
24.\" Copyright (c) 2013 by Saso Kiselkov. All rights reserved.
25.\" Copyright (c) 2014, Joyent, Inc. All rights reserved.
26.\" Copyright (c) 2014 by Adam Stevko. All rights reserved.
27.\" Copyright (c) 2014 Integros [integros.com]
28.\" Copyright 2019 Richard Laager. All rights reserved.
29.\" Copyright 2018 Nexenta Systems, Inc.
30.\" Copyright 2019 Joyent, Inc.
31.\"
32.Dd April 20, 2024
33.Dt ZFS-SET 8
34.Os
35.
36.Sh NAME
37.Nm zfs-set
38.Nd set properties on ZFS datasets
39.Sh SYNOPSIS
40.Nm zfs
41.Cm set
42.Op Fl u
43.Ar property Ns = Ns Ar value Oo Ar property Ns = Ns Ar value Oc Ns …
44.Ar filesystem Ns | Ns Ar volume Ns | Ns Ar snapshot Ns …
45.Nm zfs
46.Cm get
47.Op Fl r Ns | Ns Fl d Ar depth
48.Op Fl Hp
49.Op Fl j Op Ar --json-int
50.Oo Fl o Ar field Ns Oo , Ns Ar field Oc Ns … Oc
51.Oo Fl s Ar source Ns Oo , Ns Ar source Oc Ns … Oc
52.Oo Fl t Ar type Ns Oo , Ns Ar type Oc Ns … Oc
53.Cm all Ns | Ns Ar property Ns Oo , Ns Ar property Oc Ns …
54.Oo Ar filesystem Ns | Ns Ar volume Ns | Ns Ar snapshot Ns | Ns Ar bookmark Oc Ns …
55.Nm zfs
56.Cm inherit
57.Op Fl rS
58.Ar property Ar filesystem Ns | Ns Ar volume Ns | Ns Ar snapshot Ns …
59.
60.Sh DESCRIPTION
61.Bl -tag -width ""
62.It Xo
63.Nm zfs
64.Cm set
65.Op Fl u
66.Ar property Ns = Ns Ar value Oo Ar property Ns = Ns Ar value Oc Ns …
67.Ar filesystem Ns | Ns Ar volume Ns | Ns Ar snapshot Ns …
68.Xc
69Only some properties can be edited.
70See
71.Xr zfsprops 7
72for more information on what properties can be set and acceptable
73values.
74Numeric values can be specified as exact values, or in a human-readable form
75with a suffix of
76.Sy B , K , M , G , T , P , E , Z
77.Po for bytes, kilobytes, megabytes, gigabytes, terabytes, petabytes, exabytes,
78or zettabytes, respectively
79.Pc .
80User properties can be set on snapshots.
81For more information, see the
82.Em User Properties
83section of
84.Xr zfsprops 7 .
85.Bl -tag -width "-u"
86.It Fl u
87Update mountpoint, sharenfs, sharesmb property but do not mount or share the
88dataset.
89.El
90.It Xo
91.Nm zfs
92.Cm get
93.Op Fl r Ns | Ns Fl d Ar depth
94.Op Fl Hp
95.Op Fl j Op Ar --json-int
96.Oo Fl o Ar field Ns Oo , Ns Ar field Oc Ns … Oc
97.Oo Fl s Ar source Ns Oo , Ns Ar source Oc Ns … Oc
98.Oo Fl t Ar type Ns Oo , Ns Ar type Oc Ns … Oc
99.Cm all Ns | Ns Ar property Ns Oo , Ns Ar property Oc Ns …
100.Oo Ar filesystem Ns | Ns Ar volume Ns | Ns Ar snapshot Ns | Ns Ar bookmark Oc Ns …
101.Xc
102Displays properties for the given datasets.
103If no datasets are specified, then the command displays properties for all
104datasets on the system.
105For each property, the following columns are displayed:
106.Bl -tag -compact -offset 4n -width "property"
107.It Sy name
108Dataset name
109.It Sy property
110Property name
111.It Sy value
112Property value
113.It Sy source
114Property source
115.Sy local , default , inherited , temporary , received , No or Sy - Pq none .
116.El
117.Pp
118All columns are displayed by default, though this can be controlled by using the
119.Fl o
120option.
121This command takes a comma-separated list of properties as described in the
122.Sx Native Properties
123and
124.Sx User Properties
125sections of
126.Xr zfsprops 7 .
127.Pp
128The value
129.Sy all
130can be used to display all properties that apply to the given dataset's type
131.Pq Sy filesystem , volume , snapshot , No or Sy bookmark .
132.Bl -tag -width "-s source"
133.It Fl j Op Ar --json-int
134Display the output in JSON format.
135Specify
136.Sy --json-int
137to display numbers in integer format instead of strings for JSON output.
138.It Fl H
139Display output in a form more easily parsed by scripts.
140Any headers are omitted, and fields are explicitly separated by a single tab
141instead of an arbitrary amount of space.
142.It Fl d Ar depth
143Recursively display any children of the dataset, limiting the recursion to
144.Ar depth .
145A depth of
146.Sy 1
147will display only the dataset and its direct children.
148.It Fl o Ar field
149A comma-separated list of columns to display, defaults to
150.Sy name , Ns Sy property , Ns Sy value , Ns Sy source .
151.It Fl p
152Display numbers in parsable
153.Pq exact
154values.
155.It Fl r
156Recursively display properties for any children.
157.It Fl s Ar source
158A comma-separated list of sources to display.
159Those properties coming from a source other than those in this list are ignored.
160Each source must be one of the following:
161.Sy local , default , inherited , temporary , received , No or Sy none .
162The default value is all sources.
163.It Fl t Ar type
164A comma-separated list of types to display, where
165.Ar type
166is one of
167.Sy filesystem , snapshot , volume , bookmark , No or Sy all .
168.Sy fs ,
169.Sy snap ,
170or
171.Sy vol
172can be used as aliases for
173.Sy filesystem ,
174.Sy snapshot ,
175or
176.Sy volume .
177.El
178.It Xo
179.Nm zfs
180.Cm inherit
181.Op Fl rS
182.Ar property Ar filesystem Ns | Ns Ar volume Ns | Ns Ar snapshot Ns …
183.Xc
184Clears the specified property, causing it to be inherited from an ancestor,
185restored to default if no ancestor has the property set, or with the
186.Fl S
187option reverted to the received value if one exists.
188See
189.Xr zfsprops 7
190for a listing of default values, and details on which properties can be
191inherited.
192.Bl -tag -width "-r"
193.It Fl r
194Recursively inherit the given property for all children.
195.It Fl S
196Revert the property to the received value, if one exists;
197otherwise, for non-inheritable properties, to the default;
198otherwise, operate as if the
199.Fl S
200option was not specified.
201.El
202.El
203.
204.Sh EXAMPLES
205.\" These are, respectively, examples 1, 4, 6, 7, 11, 14, 16 from zfs.8
206.\" Make sure to update them bidirectionally
207.Ss Example 1 : No Creating a ZFS File System Hierarchy
208The following commands create a file system named
209.Ar pool/home
210and a file system named
211.Ar pool/home/bob .
212The mount point
213.Pa /export/home
214is set for the parent file system, and is automatically inherited by the child
215file system.
216.Dl # Nm zfs Cm create Ar pool/home
217.Dl # Nm zfs Cm set Sy mountpoint Ns = Ns Ar /export/home pool/home
218.Dl # Nm zfs Cm create Ar pool/home/bob
219.
220.Ss Example 2 : No Disabling and Enabling File System Compression
221The following command disables the
222.Sy compression
223property for all file systems under
224.Ar pool/home .
225The next command explicitly enables
226.Sy compression
227for
228.Ar pool/home/anne .
229.Dl # Nm zfs Cm set Sy compression Ns = Ns Sy off Ar pool/home
230.Dl # Nm zfs Cm set Sy compression Ns = Ns Sy on Ar pool/home/anne
231.
232.Ss Example 3 : No Setting a Quota on a ZFS File System
233The following command sets a quota of 50 Gbytes for
234.Ar pool/home/bob :
235.Dl # Nm zfs Cm set Sy quota Ns = Ns Ar 50G pool/home/bob
236.
237.Ss Example 4 : No Listing ZFS Properties
238The following command lists all properties for
239.Ar pool/home/bob :
240.Bd -literal -compact -offset Ds
241.No # Nm zfs Cm get Sy all Ar pool/home/bob
242NAME           PROPERTY              VALUE                  SOURCE
243pool/home/bob  type                  filesystem             -
244pool/home/bob  creation              Tue Jul 21 15:53 2009  -
245pool/home/bob  used                  21K                    -
246pool/home/bob  available             20.0G                  -
247pool/home/bob  referenced            21K                    -
248pool/home/bob  compressratio         1.00x                  -
249pool/home/bob  mounted               yes                    -
250pool/home/bob  quota                 20G                    local
251pool/home/bob  reservation           none                   default
252pool/home/bob  recordsize            128K                   default
253pool/home/bob  mountpoint            /pool/home/bob         default
254pool/home/bob  sharenfs              off                    default
255pool/home/bob  checksum              on                     default
256pool/home/bob  compression           on                     local
257pool/home/bob  atime                 on                     default
258pool/home/bob  devices               on                     default
259pool/home/bob  exec                  on                     default
260pool/home/bob  setuid                on                     default
261pool/home/bob  readonly              off                    default
262pool/home/bob  zoned                 off                    default
263pool/home/bob  snapdir               hidden                 default
264pool/home/bob  acltype               off                    default
265pool/home/bob  aclmode               discard                default
266pool/home/bob  aclinherit            restricted             default
267pool/home/bob  canmount              on                     default
268pool/home/bob  xattr                 on                     default
269pool/home/bob  copies                1                      default
270pool/home/bob  version               4                      -
271pool/home/bob  utf8only              off                    -
272pool/home/bob  normalization         none                   -
273pool/home/bob  casesensitivity       sensitive              -
274pool/home/bob  vscan                 off                    default
275pool/home/bob  nbmand                off                    default
276pool/home/bob  sharesmb              off                    default
277pool/home/bob  refquota              none                   default
278pool/home/bob  refreservation        none                   default
279pool/home/bob  primarycache          all                    default
280pool/home/bob  secondarycache        all                    default
281pool/home/bob  usedbysnapshots       0                      -
282pool/home/bob  usedbydataset         21K                    -
283pool/home/bob  usedbychildren        0                      -
284pool/home/bob  usedbyrefreservation  0                      -
285.Ed
286.Pp
287The following command gets a single property value:
288.Bd -literal -compact -offset Ds
289.No # Nm zfs Cm get Fl H o Sy value compression Ar pool/home/bob
290on
291.Ed
292.Pp
293The following command gets a single property value recursively in JSON format:
294.Bd -literal -compact -offset Ds
295.No # Nm zfs Cm get Fl j Fl r Sy mountpoint Ar pool/home | Nm jq
296{
297  "output_version": {
298    "command": "zfs get",
299    "vers_major": 0,
300    "vers_minor": 1
301  },
302  "datasets": {
303    "pool/home": {
304      "name": "pool/home",
305      "type": "FILESYSTEM",
306      "pool": "pool",
307      "createtxg": "10",
308      "properties": {
309        "mountpoint": {
310          "value": "/pool/home",
311          "source": {
312            "type": "DEFAULT",
313            "data": "-"
314          }
315        }
316      }
317    },
318    "pool/home/bob": {
319      "name": "pool/home/bob",
320      "type": "FILESYSTEM",
321      "pool": "pool",
322      "createtxg": "1176",
323      "properties": {
324        "mountpoint": {
325          "value": "/pool/home/bob",
326          "source": {
327            "type": "DEFAULT",
328            "data": "-"
329          }
330        }
331      }
332    }
333  }
334}
335.Ed
336.Pp
337The following command lists all properties with local settings for
338.Ar pool/home/bob :
339.Bd -literal -compact -offset Ds
340.No # Nm zfs Cm get Fl r s Sy local Fl o Sy name , Ns Sy property , Ns Sy value all Ar pool/home/bob
341NAME           PROPERTY              VALUE
342pool/home/bob  quota                 20G
343pool/home/bob  compression           on
344.Ed
345.
346.Ss Example 5 : No Inheriting ZFS Properties
347The following command causes
348.Ar pool/home/bob No and Ar pool/home/anne
349to inherit the
350.Sy checksum
351property from their parent.
352.Dl # Nm zfs Cm inherit Sy checksum Ar pool/home/bob pool/home/anne
353.
354.Ss Example 6 : No Setting User Properties
355The following example sets the user-defined
356.Ar com.example : Ns Ar department
357property for a dataset:
358.Dl # Nm zfs Cm set Ar com.example : Ns Ar department Ns = Ns Ar 12345 tank/accounting
359.
360.Ss Example 7 : No Setting sharenfs Property Options on a ZFS File System
361The following commands show how to set
362.Sy sharenfs
363property options to enable read-write
364access for a set of IP addresses and to enable root access for system
365.Qq neo
366on the
367.Ar tank/home
368file system:
369.Dl # Nm zfs Cm set Sy sharenfs Ns = Ns ' Ns Ar rw Ns =@123.123.0.0/16:[::1],root= Ns Ar neo Ns ' tank/home
370.Pp
371If you are using DNS for host name resolution,
372specify the fully-qualified hostname.
373.
374.Sh SEE ALSO
375.Xr zfsprops 7 ,
376.Xr zfs-list 8
377