xref: /freebsd/sys/contrib/openzfs/man/man8/zfs-promote.8 (revision 924226fba12cc9a228c73b956e1b7fa24c60b055)
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-PROMOTE 8
34.Os
35.
36.Sh NAME
37.Nm zfs-promote
38.Nd promote clone dataset to no longer depend on origin snapshot
39.Sh SYNOPSIS
40.Nm zfs
41.Cm promote
42.Ar clone
43.
44.Sh DESCRIPTION
45The
46.Nm zfs Cm promote
47command makes it possible to destroy the dataset that the clone was created from.
48The clone parent-child dependency relationship is reversed, so that the origin
49dataset becomes a clone of the specified dataset.
50.Pp
51The snapshot that was cloned, and any snapshots previous to this snapshot, are
52now owned by the promoted clone.
53The space they use moves from the origin dataset to the promoted clone, so
54enough space must be available to accommodate these snapshots.
55No new space is consumed by this operation, but the space accounting is
56adjusted.
57The promoted clone must not have any conflicting snapshot names of its own.
58The
59.Nm zfs Cm rename
60subcommand can be used to rename any conflicting snapshots.
61.
62.Sh EXAMPLES
63.\" These are, respectively, examples 10 from zfs.8
64.\" Make sure to update them bidirectionally
65.Ss Example 1 : No Promoting a ZFS Clone
66The following commands illustrate how to test out changes to a file system, and
67then replace the original file system with the changed one, using clones, clone
68promotion, and renaming:
69.Bd -literal -compact -offset Ds
70.No # Nm zfs Cm create Ar pool/project/production
71  populate /pool/project/production with data
72.No # Nm zfs Cm snapshot Ar pool/project/production Ns @ Ns Ar today
73.No # Nm zfs Cm clone Ar pool/project/production@today pool/project/beta
74  make changes to /pool/project/beta and test them
75.No # Nm zfs Cm promote Ar pool/project/beta
76.No # Nm zfs Cm rename Ar pool/project/production pool/project/legacy
77.No # Nm zfs Cm rename Ar pool/project/beta pool/project/production
78  once the legacy version is no longer needed, it can be destroyed
79.No # Nm zfs Cm destroy Ar pool/project/legacy
80.Ed
81.
82.Sh SEE ALSO
83.Xr zfs-clone 8 ,
84.Xr zfs-rename 8
85