xref: /freebsd/sys/contrib/openzfs/man/man8/zfs-zone.8 (revision fe75646a0234a261c0013bf1840fdac4acaf0cec)
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) 2011, Pawel Jakub Dawidek <pjd@FreeBSD.org>
25.\" Copyright (c) 2012, Glen Barber <gjb@FreeBSD.org>
26.\" Copyright (c) 2012, Bryan Drewery <bdrewery@FreeBSD.org>
27.\" Copyright (c) 2013, Steven Hartland <smh@FreeBSD.org>
28.\" Copyright (c) 2013 by Saso Kiselkov. All rights reserved.
29.\" Copyright (c) 2014, Joyent, Inc. All rights reserved.
30.\" Copyright (c) 2014 by Adam Stevko. All rights reserved.
31.\" Copyright (c) 2014 Integros [integros.com]
32.\" Copyright (c) 2014, Xin LI <delphij@FreeBSD.org>
33.\" Copyright (c) 2014-2015, The FreeBSD Foundation, All Rights Reserved.
34.\" Copyright (c) 2016 Nexenta Systems, Inc. All Rights Reserved.
35.\" Copyright 2019 Richard Laager. All rights reserved.
36.\" Copyright 2018 Nexenta Systems, Inc.
37.\" Copyright 2019 Joyent, Inc.
38.\" Copyright 2021 Klara, Inc.
39.\"
40.Dd June 3, 2022
41.Dt ZFS-ZONE 8
42.Os
43.
44.Sh NAME
45.Nm zfs-zone ,
46.Nm zfs-unzone
47.Nd attach and detach ZFS filesystems to user namespaces
48.Sh SYNOPSIS
49.Nm zfs Cm zone
50.Ar nsfile
51.Ar filesystem
52.Nm zfs Cm unzone
53.Ar nsfile
54.Ar filesystem
55.
56.Sh DESCRIPTION
57.Bl -tag -width ""
58.It Xo
59.Nm zfs
60.Cm zone
61.Ar nsfile
62.Ar filesystem
63.Xc
64Attach the specified
65.Ar filesystem
66to the user namespace identified by
67.Ar nsfile .
68From now on this file system tree can be managed from within a user namespace
69if the
70.Sy zoned
71property has been set.
72.Pp
73You cannot attach a zoned dataset's children to another user namespace.
74You can also not attach the root file system
75of the user namespace or any dataset
76which needs to be mounted before the zfs service
77is run inside the user namespace,
78as it would be attached unmounted until it is
79mounted from the service inside the user namespace.
80.Pp
81To allow management of the dataset from within a user namespace, the
82.Sy zoned
83property has to be set and the user namespaces needs access to the
84.Pa /dev/zfs
85device.
86The
87.Sy quota
88property cannot be changed from within a user namespace.
89.Pp
90After a dataset is attached to a user namespace and the
91.Sy zoned
92property is set,
93a zoned file system cannot be mounted outside the user namespace,
94since the user namespace administrator might have set the mount point
95to an unacceptable value.
96.It Xo
97.Nm zfs
98.Cm unzone
99.Ar nsfile
100.Ar filesystem
101.Xc
102Detach the specified
103.Ar filesystem
104from the user namespace identified by
105.Ar nsfile .
106.El
107.Sh EXAMPLES
108.Ss Example 1 : No Delegating a Dataset to a User Namespace
109The following example delegates the
110.Ar tank/users
111dataset to a user namespace identified by user namespace file
112.Pa /proc/1234/ns/user .
113.Dl # Nm zfs Cm zone Ar /proc/1234/ns/user Ar tank/users
114.
115.Sh SEE ALSO
116.Xr zfsprops 7
117