xref: /freebsd/sys/contrib/openzfs/man/man8/zfs-clone.8 (revision 3e8eb5c7f4909209c042403ddee340b2ee7003a5)
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 http://www.opensolaris.org/os/licensing.
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 March 16, 2022
33.Dt ZFS-CLONE 8
34.Os
35.
36.Sh NAME
37.Nm zfs-clone
38.Nd clone snapshot of ZFS dataset
39.Sh SYNOPSIS
40.Nm zfs
41.Cm clone
42.Op Fl p
43.Oo Fl o Ar property Ns = Ns Ar value Oc Ns …
44.Ar snapshot Ar filesystem Ns | Ns Ar volume
45.
46.Sh DESCRIPTION
47See the
48.Sx Clones
49section of
50.Xr zfsconcepts 7
51for details.
52The target dataset can be located anywhere in the ZFS hierarchy,
53and is created as the same type as the original.
54.Bl -tag -width Ds
55.It Fl o Ar property Ns = Ns Ar value
56Sets the specified property; see
57.Nm zfs Cm create
58for details.
59.It Fl p
60Creates all the non-existing parent datasets.
61Datasets created in this manner are automatically mounted according to the
62.Sy mountpoint
63property inherited from their parent.
64If the target filesystem or volume already exists, the operation completes
65successfully.
66.El
67.
68.Sh EXAMPLES
69.\" These are, respectively, examples 9, 10 from zfs.8
70.\" Make sure to update them bidirectionally
71.Ss Example 1 : No Creating a ZFS Clone
72The following command creates a writable file system whose initial contents are
73the same as
74.Ar pool/home/bob@yesterday .
75.Dl # Nm zfs Cm clone Ar pool/home/bob@yesterday pool/clone
76.
77.Ss Example 2 : No Promoting a ZFS Clone
78The following commands illustrate how to test out changes to a file system, and
79then replace the original file system with the changed one, using clones, clone
80promotion, and renaming:
81.Bd -literal -compact -offset Ds
82.No # Nm zfs Cm create Ar pool/project/production
83  populate /pool/project/production with data
84.No # Nm zfs Cm snapshot Ar pool/project/production Ns @ Ns Ar today
85.No # Nm zfs Cm clone Ar pool/project/production@today pool/project/beta
86  make changes to /pool/project/beta and test them
87.No # Nm zfs Cm promote Ar pool/project/beta
88.No # Nm zfs Cm rename Ar pool/project/production pool/project/legacy
89.No # Nm zfs Cm rename Ar pool/project/beta pool/project/production
90  once the legacy version is no longer needed, it can be destroyed
91.No # Nm zfs Cm destroy Ar pool/project/legacy
92.Ed
93.
94.Sh SEE ALSO
95.Xr zfs-promote 8 ,
96.Xr zfs-snapshot 8
97