161145dc2SMartin Matuska.\" SPDX-License-Identifier: CDDL-1.0
2eda14cbcSMatt Macy.\"
3eda14cbcSMatt Macy.\" CDDL HEADER START
4eda14cbcSMatt Macy.\"
5eda14cbcSMatt Macy.\" The contents of this file are subject to the terms of the
6eda14cbcSMatt Macy.\" Common Development and Distribution License (the "License").
7eda14cbcSMatt Macy.\" You may not use this file except in compliance with the License.
8eda14cbcSMatt Macy.\"
9eda14cbcSMatt Macy.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
10271171e0SMartin Matuska.\" or https://opensource.org/licenses/CDDL-1.0.
11eda14cbcSMatt Macy.\" See the License for the specific language governing permissions
12eda14cbcSMatt Macy.\" and limitations under the License.
13eda14cbcSMatt Macy.\"
14eda14cbcSMatt Macy.\" When distributing Covered Code, include this CDDL HEADER in each
15eda14cbcSMatt Macy.\" file and include the License file at usr/src/OPENSOLARIS.LICENSE.
16eda14cbcSMatt Macy.\" If applicable, add the following below this CDDL HEADER, with the
17eda14cbcSMatt Macy.\" fields enclosed by brackets "[]" replaced with your own identifying
18eda14cbcSMatt Macy.\" information: Portions Copyright [yyyy] [name of copyright owner]
19eda14cbcSMatt Macy.\"
20eda14cbcSMatt Macy.\" CDDL HEADER END
21eda14cbcSMatt Macy.\"
22eda14cbcSMatt Macy.\" Copyright (c) 2009 Sun Microsystems, Inc. All Rights Reserved.
23eda14cbcSMatt Macy.\" Copyright 2011 Joshua M. Clulow <josh@sysmgr.org>
24eda14cbcSMatt Macy.\" Copyright (c) 2011, 2019 by Delphix. All rights reserved.
25eda14cbcSMatt Macy.\" Copyright (c) 2013 by Saso Kiselkov. All rights reserved.
26eda14cbcSMatt Macy.\" Copyright (c) 2014, Joyent, Inc. All rights reserved.
27eda14cbcSMatt Macy.\" Copyright (c) 2014 by Adam Stevko. All rights reserved.
28eda14cbcSMatt Macy.\" Copyright (c) 2014 Integros [integros.com]
29eda14cbcSMatt Macy.\" Copyright 2019 Richard Laager. All rights reserved.
30eda14cbcSMatt Macy.\" Copyright 2018 Nexenta Systems, Inc.
31eda14cbcSMatt Macy.\" Copyright 2019 Joyent, Inc.
32eda14cbcSMatt Macy.\"
332a58b312SMartin Matuska.Dd March 12, 2023
34eda14cbcSMatt Macy.Dt ZFS-RECEIVE 8
35eda14cbcSMatt Macy.Os
3616038816SMartin Matuska.
37eda14cbcSMatt Macy.Sh NAME
387877fdebSMatt Macy.Nm zfs-receive
3916038816SMartin Matuska.Nd create snapshot from backup stream
40eda14cbcSMatt Macy.Sh SYNOPSIS
417877fdebSMatt Macy.Nm zfs
42eda14cbcSMatt Macy.Cm receive
43eda14cbcSMatt Macy.Op Fl FhMnsuv
44eda14cbcSMatt Macy.Op Fl o Sy origin Ns = Ns Ar snapshot
45eda14cbcSMatt Macy.Op Fl o Ar property Ns = Ns Ar value
46eda14cbcSMatt Macy.Op Fl x Ar property
47eda14cbcSMatt Macy.Ar filesystem Ns | Ns Ar volume Ns | Ns Ar snapshot
487877fdebSMatt Macy.Nm zfs
49eda14cbcSMatt Macy.Cm receive
50eda14cbcSMatt Macy.Op Fl FhMnsuv
51eda14cbcSMatt Macy.Op Fl d Ns | Ns Fl e
52eda14cbcSMatt Macy.Op Fl o Sy origin Ns = Ns Ar snapshot
53eda14cbcSMatt Macy.Op Fl o Ar property Ns = Ns Ar value
54eda14cbcSMatt Macy.Op Fl x Ar property
55eda14cbcSMatt Macy.Ar filesystem
567877fdebSMatt Macy.Nm zfs
57eda14cbcSMatt Macy.Cm receive
58eda14cbcSMatt Macy.Fl A
59eda14cbcSMatt Macy.Ar filesystem Ns | Ns Ar volume
602a58b312SMartin Matuska.Nm zfs
61271171e0SMartin Matuska.Cm receive
62271171e0SMartin Matuska.Fl c
63271171e0SMartin Matuska.Op Fl vn
64271171e0SMartin Matuska.Ar filesystem Ns | Ns Ar snapshot
65271171e0SMartin Matuska.
66eda14cbcSMatt Macy.Sh DESCRIPTION
67eda14cbcSMatt Macy.Bl -tag -width ""
68eda14cbcSMatt Macy.It Xo
697877fdebSMatt Macy.Nm zfs
70eda14cbcSMatt Macy.Cm receive
71eda14cbcSMatt Macy.Op Fl FhMnsuv
72eda14cbcSMatt Macy.Op Fl o Sy origin Ns = Ns Ar snapshot
73eda14cbcSMatt Macy.Op Fl o Ar property Ns = Ns Ar value
74eda14cbcSMatt Macy.Op Fl x Ar property
75eda14cbcSMatt Macy.Ar filesystem Ns | Ns Ar volume Ns | Ns Ar snapshot
76eda14cbcSMatt Macy.Xc
77eda14cbcSMatt Macy.It Xo
787877fdebSMatt Macy.Nm zfs
79eda14cbcSMatt Macy.Cm receive
80eda14cbcSMatt Macy.Op Fl FhMnsuv
81eda14cbcSMatt Macy.Op Fl d Ns | Ns Fl e
82eda14cbcSMatt Macy.Op Fl o Sy origin Ns = Ns Ar snapshot
83eda14cbcSMatt Macy.Op Fl o Ar property Ns = Ns Ar value
84eda14cbcSMatt Macy.Op Fl x Ar property
85eda14cbcSMatt Macy.Ar filesystem
86eda14cbcSMatt Macy.Xc
87eda14cbcSMatt MacyCreates a snapshot whose contents are as specified in the stream provided on
88eda14cbcSMatt Macystandard input.
89eda14cbcSMatt MacyIf a full stream is received, then a new file system is created as well.
90eda14cbcSMatt MacyStreams are created using the
91eda14cbcSMatt Macy.Nm zfs Cm send
92eda14cbcSMatt Macysubcommand, which by default creates a full stream.
93eda14cbcSMatt Macy.Nm zfs Cm recv
94eda14cbcSMatt Macycan be used as an alias for
95eda14cbcSMatt Macy.Nm zfs Cm receive .
96eda14cbcSMatt Macy.Pp
97eda14cbcSMatt MacyIf an incremental stream is received, then the destination file system must
98eda14cbcSMatt Macyalready exist, and its most recent snapshot must match the incremental stream's
99eda14cbcSMatt Macysource.
100eda14cbcSMatt MacyFor
101eda14cbcSMatt Macy.Sy zvols ,
102eda14cbcSMatt Macythe destination device link is destroyed and recreated, which means the
103eda14cbcSMatt Macy.Sy zvol
104eda14cbcSMatt Macycannot be accessed during the
105eda14cbcSMatt Macy.Cm receive
106eda14cbcSMatt Macyoperation.
107eda14cbcSMatt Macy.Pp
108eda14cbcSMatt MacyWhen a snapshot replication package stream that is generated by using the
109eda14cbcSMatt Macy.Nm zfs Cm send Fl R
110eda14cbcSMatt Macycommand is received, any snapshots that do not exist on the sending location are
111eda14cbcSMatt Macydestroyed by using the
112eda14cbcSMatt Macy.Nm zfs Cm destroy Fl d
113eda14cbcSMatt Macycommand.
114eda14cbcSMatt Macy.Pp
115eda14cbcSMatt MacyThe ability to send and receive deduplicated send streams has been removed.
116eda14cbcSMatt MacyHowever, a deduplicated send stream created with older software can be converted
117eda14cbcSMatt Macyto a regular (non-deduplicated) stream by using the
118eda14cbcSMatt Macy.Nm zstream Cm redup
119eda14cbcSMatt Macycommand.
120eda14cbcSMatt Macy.Pp
121eda14cbcSMatt MacyIf
122eda14cbcSMatt Macy.Fl o Em property Ns = Ns Ar value
123eda14cbcSMatt Macyor
124eda14cbcSMatt Macy.Fl x Em property
125eda14cbcSMatt Macyis specified, it applies to the effective value of the property throughout
12616038816SMartin Matuskathe entire subtree of replicated datasets.
12716038816SMartin MatuskaEffective property values will be set
12816038816SMartin Matuska.Pq Fl o
12916038816SMartin Matuskaor inherited
13016038816SMartin Matuska.Pq Fl x
13116038816SMartin Matuskaon the topmost in the replicated subtree.
13216038816SMartin MatuskaIn descendant datasets, if the
133eda14cbcSMatt Macyproperty is set by the send stream, it will be overridden by forcing the
13416038816SMartin Matuskaproperty to be inherited from the top‐most file system.
13516038816SMartin MatuskaReceived properties are retained in spite of being overridden
13616038816SMartin Matuskaand may be restored with
137eda14cbcSMatt Macy.Nm zfs Cm inherit Fl S .
138eda14cbcSMatt MacySpecifying
139eda14cbcSMatt Macy.Fl o Sy origin Ns = Ns Em snapshot
140eda14cbcSMatt Macyis a special case because, even if
141eda14cbcSMatt Macy.Sy origin
142eda14cbcSMatt Macyis a read-only property and cannot be set, it's allowed to receive the send
143eda14cbcSMatt Macystream as a clone of the given snapshot.
144eda14cbcSMatt Macy.Pp
145eda14cbcSMatt MacyRaw encrypted send streams (created with
14616038816SMartin Matuska.Nm zfs Cm send Fl w )
14716038816SMartin Matuskamay only be received as is, and cannot be re-encrypted, decrypted, or
14816038816SMartin Matuskarecompressed by the receive process.
14916038816SMartin MatuskaUnencrypted streams can be received as
150eda14cbcSMatt Macyencrypted datasets, either through inheritance or by specifying encryption
151eda14cbcSMatt Macyparameters with the
152eda14cbcSMatt Macy.Fl o
15316038816SMartin Matuskaoptions.
15416038816SMartin MatuskaNote that the
155eda14cbcSMatt Macy.Sy keylocation
156eda14cbcSMatt Macyproperty cannot be overridden to
157eda14cbcSMatt Macy.Sy prompt
15816038816SMartin Matuskaduring a receive.
15916038816SMartin MatuskaThis is because the receive process itself is already using
16016038816SMartin Matuskathe standard input for the send stream.
16116038816SMartin MatuskaInstead, the property can be overridden after the receive completes.
162eda14cbcSMatt Macy.Pp
163eda14cbcSMatt MacyThe added security provided by raw sends adds some restrictions to the send
16416038816SMartin Matuskaand receive process.
16516038816SMartin MatuskaZFS will not allow a mix of raw receives and non-raw receives.
16616038816SMartin MatuskaSpecifically, any raw incremental receives that are attempted after
16716038816SMartin Matuskaa non-raw receive will fail.
16816038816SMartin MatuskaNon-raw receives do not have this restriction and,
16916038816SMartin Matuskatherefore, are always possible.
17016038816SMartin MatuskaBecause of this, it is best practice to always
171eda14cbcSMatt Macyuse either raw sends for their security benefits or non-raw sends for their
172eda14cbcSMatt Macyflexibility when working with encrypted datasets, but not a combination.
173eda14cbcSMatt Macy.Pp
174eda14cbcSMatt MacyThe reason for this restriction stems from the inherent restrictions of the
17516038816SMartin MatuskaAEAD ciphers that ZFS uses to encrypt data.
17616038816SMartin MatuskaWhen using ZFS native encryption,
177eda14cbcSMatt Macyeach block of data is encrypted against a randomly generated number known as
178eda14cbcSMatt Macythe "initialization vector" (IV), which is stored in the filesystem metadata.
179eda14cbcSMatt MacyThis number is required by the encryption algorithms whenever the data is to
18016038816SMartin Matuskabe decrypted.
18116038816SMartin MatuskaTogether, all of the IVs provided for all of the blocks in a
18216038816SMartin Matuskagiven snapshot are collectively called an "IV set".
18316038816SMartin MatuskaWhen ZFS performs a raw send, the IV set is transferred from the source
18416038816SMartin Matuskato the destination in the send stream.
18516038816SMartin MatuskaWhen ZFS performs a non-raw send, the data is decrypted by the source
186eda14cbcSMatt Macysystem and re-encrypted by the destination system, creating a snapshot with
18716038816SMartin Matuskaeffectively the same data, but a different IV set.
18816038816SMartin MatuskaIn order for decryption to work after a raw send, ZFS must ensure that
18916038816SMartin Matuskathe IV set used on both the source and destination side match.
19016038816SMartin MatuskaWhen an incremental raw receive is performed on
191eda14cbcSMatt Macytop of an existing snapshot, ZFS will check to confirm that the "from"
192eda14cbcSMatt Macysnapshot on both the source and destination were using the same IV set,
193eda14cbcSMatt Macyensuring the new IV set is consistent.
194eda14cbcSMatt Macy.Pp
195eda14cbcSMatt MacyThe name of the snapshot
196eda14cbcSMatt Macy.Pq and file system, if a full stream is received
197eda14cbcSMatt Macythat this subcommand creates depends on the argument type and the use of the
198eda14cbcSMatt Macy.Fl d
199eda14cbcSMatt Macyor
200eda14cbcSMatt Macy.Fl e
201eda14cbcSMatt Macyoptions.
202eda14cbcSMatt Macy.Pp
203eda14cbcSMatt MacyIf the argument is a snapshot name, the specified
204eda14cbcSMatt Macy.Ar snapshot
205eda14cbcSMatt Macyis created.
206eda14cbcSMatt MacyIf the argument is a file system or volume name, a snapshot with the same name
207eda14cbcSMatt Macyas the sent snapshot is created within the specified
208eda14cbcSMatt Macy.Ar filesystem
209eda14cbcSMatt Macyor
210eda14cbcSMatt Macy.Ar volume .
211eda14cbcSMatt MacyIf neither of the
212eda14cbcSMatt Macy.Fl d
213eda14cbcSMatt Macyor
214eda14cbcSMatt Macy.Fl e
215eda14cbcSMatt Macyoptions are specified, the provided target snapshot name is used exactly as
216eda14cbcSMatt Macyprovided.
217eda14cbcSMatt Macy.Pp
218eda14cbcSMatt MacyThe
219eda14cbcSMatt Macy.Fl d
220eda14cbcSMatt Macyand
221eda14cbcSMatt Macy.Fl e
222eda14cbcSMatt Macyoptions cause the file system name of the target snapshot to be determined by
223eda14cbcSMatt Macyappending a portion of the sent snapshot's name to the specified target
224eda14cbcSMatt Macy.Ar filesystem .
225eda14cbcSMatt MacyIf the
226eda14cbcSMatt Macy.Fl d
227eda14cbcSMatt Macyoption is specified, all but the first element of the sent snapshot's file
228eda14cbcSMatt Macysystem path
229eda14cbcSMatt Macy.Pq usually the pool name
230eda14cbcSMatt Macyis used and any required intermediate file systems within the specified one are
231eda14cbcSMatt Macycreated.
232eda14cbcSMatt MacyIf the
233eda14cbcSMatt Macy.Fl e
234eda14cbcSMatt Macyoption is specified, then only the last element of the sent snapshot's file
235eda14cbcSMatt Macysystem name
236eda14cbcSMatt Macy.Pq i.e. the name of the source file system itself
237eda14cbcSMatt Macyis used as the target file system name.
238eda14cbcSMatt Macy.Bl -tag -width "-F"
239eda14cbcSMatt Macy.It Fl F
240eda14cbcSMatt MacyForce a rollback of the file system to the most recent snapshot before
241eda14cbcSMatt Macyperforming the receive operation.
242eda14cbcSMatt MacyIf receiving an incremental replication stream
243eda14cbcSMatt Macy.Po for example, one generated by
244eda14cbcSMatt Macy.Nm zfs Cm send Fl R Op Fl i Ns | Ns Fl I
245eda14cbcSMatt Macy.Pc ,
246eda14cbcSMatt Macydestroy snapshots and file systems that do not exist on the sending side.
247eda14cbcSMatt Macy.It Fl d
248eda14cbcSMatt MacyDiscard the first element of the sent snapshot's file system name, using the
249eda14cbcSMatt Macyremaining elements to determine the name of the target file system for the new
250eda14cbcSMatt Macysnapshot as described in the paragraph above.
251eda14cbcSMatt Macy.It Fl e
252eda14cbcSMatt MacyDiscard all but the last element of the sent snapshot's file system name, using
253eda14cbcSMatt Macythat element to determine the name of the target file system for the new
254eda14cbcSMatt Macysnapshot as described in the paragraph above.
255eda14cbcSMatt Macy.It Fl h
25616038816SMartin MatuskaSkip the receive of holds.
25716038816SMartin MatuskaThere is no effect if holds are not sent.
258eda14cbcSMatt Macy.It Fl M
259eda14cbcSMatt MacyForce an unmount of the file system while receiving a snapshot.
260eda14cbcSMatt MacyThis option is not supported on Linux.
261eda14cbcSMatt Macy.It Fl n
262eda14cbcSMatt MacyDo not actually receive the stream.
263eda14cbcSMatt MacyThis can be useful in conjunction with the
264eda14cbcSMatt Macy.Fl v
265eda14cbcSMatt Macyoption to verify the name the receive operation would use.
266eda14cbcSMatt Macy.It Fl o Sy origin Ns = Ns Ar snapshot
267eda14cbcSMatt MacyForces the stream to be received as a clone of the given snapshot.
268eda14cbcSMatt MacyIf the stream is a full send stream, this will create the filesystem
269eda14cbcSMatt Macydescribed by the stream as a clone of the specified snapshot.
270eda14cbcSMatt MacyWhich snapshot was specified will not affect the success or failure of the
271eda14cbcSMatt Macyreceive, as long as the snapshot does exist.
272eda14cbcSMatt MacyIf the stream is an incremental send stream, all the normal verification will be
273eda14cbcSMatt Macyperformed.
274eda14cbcSMatt Macy.It Fl o Em property Ns = Ns Ar value
275eda14cbcSMatt MacySets the specified property as if the command
276eda14cbcSMatt Macy.Nm zfs Cm set Em property Ns = Ns Ar value
27716038816SMartin Matuskawas invoked immediately before the receive.
27816038816SMartin MatuskaWhen receiving a stream from
279eda14cbcSMatt Macy.Nm zfs Cm send Fl R ,
280eda14cbcSMatt Macycauses the property to be inherited by all descendant datasets, as through
281eda14cbcSMatt Macy.Nm zfs Cm inherit Em property
282eda14cbcSMatt Macywas run on any descendant datasets that have this property set on the
283eda14cbcSMatt Macysending system.
284eda14cbcSMatt Macy.Pp
2859db44a8eSMartin MatuskaIf the send stream was sent with
2869db44a8eSMartin Matuska.Fl c
2879db44a8eSMartin Matuskathen overriding the
2889db44a8eSMartin Matuska.Sy compression
289681ce946SMartin Matuskaproperty will have no effect on received data but the
2909db44a8eSMartin Matuska.Sy compression
29116038816SMartin Matuskaproperty will be set.
29216038816SMartin MatuskaTo have the data recompressed on receive remove the
2939db44a8eSMartin Matuska.Fl c
2949db44a8eSMartin Matuskaflag from the send stream.
2959db44a8eSMartin Matuska.Pp
29616038816SMartin MatuskaAny editable property can be set at receive time.
29716038816SMartin MatuskaSet-once properties bound
298eda14cbcSMatt Macyto the received data, such as
299eda14cbcSMatt Macy.Sy normalization
300eda14cbcSMatt Macyand
301eda14cbcSMatt Macy.Sy casesensitivity ,
302eda14cbcSMatt Macycannot be set at receive time even when the datasets are newly created by
303eda14cbcSMatt Macy.Nm zfs Cm receive .
304eda14cbcSMatt MacyAdditionally both settable properties
305eda14cbcSMatt Macy.Sy version
306eda14cbcSMatt Macyand
307eda14cbcSMatt Macy.Sy volsize
308eda14cbcSMatt Macycannot be set at receive time.
309eda14cbcSMatt Macy.Pp
310eda14cbcSMatt MacyThe
311eda14cbcSMatt Macy.Fl o
31216038816SMartin Matuskaoption may be specified multiple times, for different properties.
31316038816SMartin MatuskaAn error results if the same property is specified in multiple
314eda14cbcSMatt Macy.Fl o
315eda14cbcSMatt Macyor
316eda14cbcSMatt Macy.Fl x
317eda14cbcSMatt Macyoptions.
318eda14cbcSMatt Macy.Pp
319eda14cbcSMatt MacyThe
320eda14cbcSMatt Macy.Fl o
32116038816SMartin Matuskaoption may also be used to override encryption properties upon initial receive.
32216038816SMartin MatuskaThis allows unencrypted streams to be received as encrypted datasets.
323eda14cbcSMatt MacyTo cause the received dataset (or root dataset of a recursive stream) to be
324eda14cbcSMatt Macyreceived as an encryption root, specify encryption properties in the same
325eda14cbcSMatt Macymanner as is required for
32616038816SMartin Matuska.Nm zfs Cm create .
327eda14cbcSMatt MacyFor instance:
328c03c5b1cSMartin Matuska.Dl # Nm zfs Cm send Pa tank/test@snap1 | Nm zfs Cm recv Fl o Sy encryption Ns = Ns Sy on Fl o Sy keyformat Ns = Ns Sy passphrase Fl o Sy keylocation Ns = Ns Pa file:///path/to/keyfile
329eda14cbcSMatt Macy.Pp
330eda14cbcSMatt MacyNote that
33116038816SMartin Matuska.Fl o Sy keylocation Ns = Ns Sy prompt
33216038816SMartin Matuskamay not be specified here, since the standard input
33316038816SMartin Matuskais already being utilized for the send stream.
33416038816SMartin MatuskaOnce the receive has completed, you can use
33516038816SMartin Matuska.Nm zfs Cm set
33616038816SMartin Matuskato change this setting after the fact.
33716038816SMartin MatuskaSimilarly, you can receive a dataset as an encrypted child by specifying
338c03c5b1cSMartin Matuska.Fl x Sy encryption
33916038816SMartin Matuskato force the property to be inherited.
34016038816SMartin MatuskaOverriding encryption properties (except for
34116038816SMartin Matuska.Sy keylocation )
342eda14cbcSMatt Macyis not possible with raw send streams.
343eda14cbcSMatt Macy.It Fl s
344eda14cbcSMatt MacyIf the receive is interrupted, save the partially received state, rather
345eda14cbcSMatt Macythan deleting it.
346eda14cbcSMatt MacyInterruption may be due to premature termination of the stream
347eda14cbcSMatt Macy.Po e.g. due to network failure or failure of the remote system
348eda14cbcSMatt Macyif the stream is being read over a network connection
349eda14cbcSMatt Macy.Pc ,
350eda14cbcSMatt Macya checksum error in the stream, termination of the
351eda14cbcSMatt Macy.Nm zfs Cm receive
352eda14cbcSMatt Macyprocess, or unclean shutdown of the system.
353eda14cbcSMatt Macy.Pp
354eda14cbcSMatt MacyThe receive can be resumed with a stream generated by
355eda14cbcSMatt Macy.Nm zfs Cm send Fl t Ar token ,
356eda14cbcSMatt Macywhere the
357eda14cbcSMatt Macy.Ar token
358eda14cbcSMatt Macyis the value of the
359eda14cbcSMatt Macy.Sy receive_resume_token
360eda14cbcSMatt Macyproperty of the filesystem or volume which is received into.
361eda14cbcSMatt Macy.Pp
362eda14cbcSMatt MacyTo use this flag, the storage pool must have the
363eda14cbcSMatt Macy.Sy extensible_dataset
364eda14cbcSMatt Macyfeature enabled.
365eda14cbcSMatt MacySee
3663ff01b23SMartin Matuska.Xr zpool-features 7
367eda14cbcSMatt Macyfor details on ZFS feature flags.
368eda14cbcSMatt Macy.It Fl u
369eda14cbcSMatt MacyFile system that is associated with the received stream is not mounted.
370eda14cbcSMatt Macy.It Fl v
371eda14cbcSMatt MacyPrint verbose information about the stream and the time required to perform the
372eda14cbcSMatt Macyreceive operation.
373eda14cbcSMatt Macy.It Fl x Em property
374eda14cbcSMatt MacyEnsures that the effective value of the specified property after the
375eda14cbcSMatt Macyreceive is unaffected by the value of that property in the send stream (if any),
376eda14cbcSMatt Macyas if the property had been excluded from the send stream.
377eda14cbcSMatt Macy.Pp
378eda14cbcSMatt MacyIf the specified property is not present in the send stream, this option does
379eda14cbcSMatt Macynothing.
380eda14cbcSMatt Macy.Pp
381eda14cbcSMatt MacyIf a received property needs to be overridden, the effective value will be
382eda14cbcSMatt Macyset or inherited, depending on whether the property is inheritable or not.
383eda14cbcSMatt Macy.Pp
384eda14cbcSMatt MacyIn the case of an incremental update,
385eda14cbcSMatt Macy.Fl x
386eda14cbcSMatt Macyleaves any existing local setting or explicit inheritance unchanged.
387eda14cbcSMatt Macy.Pp
388eda14cbcSMatt MacyAll
389eda14cbcSMatt Macy.Fl o
390eda14cbcSMatt Macyrestrictions (e.g. set-once) apply equally to
391eda14cbcSMatt Macy.Fl x .
392eda14cbcSMatt Macy.El
393eda14cbcSMatt Macy.It Xo
3947877fdebSMatt Macy.Nm zfs
395eda14cbcSMatt Macy.Cm receive
396eda14cbcSMatt Macy.Fl A
397eda14cbcSMatt Macy.Ar filesystem Ns | Ns Ar volume
398eda14cbcSMatt Macy.Xc
399eda14cbcSMatt MacyAbort an interrupted
400eda14cbcSMatt Macy.Nm zfs Cm receive Fl s ,
401eda14cbcSMatt Macydeleting its saved partially received state.
402271171e0SMartin Matuska.It Xo
403271171e0SMartin Matuska.Nm zfs
404271171e0SMartin Matuska.Cm receive
405271171e0SMartin Matuska.Fl c
406271171e0SMartin Matuska.Op Fl vn
407271171e0SMartin Matuska.Ar filesystem Ns | Ns Ar snapshot
408271171e0SMartin Matuska.Xc
4092a58b312SMartin MatuskaAttempt to repair data corruption in the specified dataset,
410271171e0SMartin Matuskaby using the provided stream as the source of healthy data.
411271171e0SMartin MatuskaThis method of healing can only heal data blocks present in the stream.
412271171e0SMartin MatuskaMetadata can not be healed by corrective receive.
4132a58b312SMartin MatuskaRunning a scrub is recommended post-healing to ensure all data corruption was
4142a58b312SMartin Matuskarepaired.
415271171e0SMartin Matuska.Pp
4162a58b312SMartin MatuskaIt's important to consider why corruption has happened in the first place.
4172a58b312SMartin MatuskaIf you have slowly failing hardware - periodically repairing the data
418271171e0SMartin Matuskais not going to save you from data loss later on when the hardware fails
419271171e0SMartin Matuskacompletely.
420eda14cbcSMatt Macy.El
42116038816SMartin Matuska.
422da5137abSMartin Matuska.Sh EXAMPLES
423da5137abSMartin Matuska.\" These are, respectively, examples 12, 13 from zfs.8
424da5137abSMartin Matuska.\" Make sure to update them bidirectionally
425da5137abSMartin Matuska.Ss Example 1 : No Remotely Replicating ZFS Data
426da5137abSMartin MatuskaThe following commands send a full stream and then an incremental stream to a
427da5137abSMartin Matuskaremote machine, restoring them into
428da5137abSMartin Matuska.Em poolB/received/fs@a
429da5137abSMartin Matuskaand
430da5137abSMartin Matuska.Em poolB/received/fs@b ,
431da5137abSMartin Matuskarespectively.
432da5137abSMartin Matuska.Em poolB
433da5137abSMartin Matuskamust contain the file system
434da5137abSMartin Matuska.Em poolB/received ,
435da5137abSMartin Matuskaand must not initially contain
436da5137abSMartin Matuska.Em poolB/received/fs .
437da5137abSMartin Matuska.Bd -literal -compact -offset Ds
438da5137abSMartin Matuska.No # Nm zfs Cm send Ar pool/fs@a |
439da5137abSMartin Matuska.No "   " Nm ssh Ar host Nm zfs Cm receive Ar poolB/received/fs Ns @ Ns Ar a
440da5137abSMartin Matuska.No # Nm zfs Cm send Fl i Ar a pool/fs@b |
441da5137abSMartin Matuska.No "   " Nm ssh Ar host Nm zfs Cm receive Ar poolB/received/fs
442da5137abSMartin Matuska.Ed
443da5137abSMartin Matuska.
444da5137abSMartin Matuska.Ss Example 2 : No Using the Nm zfs Cm receive Fl d No Option
445da5137abSMartin MatuskaThe following command sends a full stream of
446da5137abSMartin Matuska.Ar poolA/fsA/fsB@snap
447da5137abSMartin Matuskato a remote machine, receiving it into
448da5137abSMartin Matuska.Ar poolB/received/fsA/fsB@snap .
449da5137abSMartin MatuskaThe
450da5137abSMartin Matuska.Ar fsA/fsB@snap
451da5137abSMartin Matuskaportion of the received snapshot's name is determined from the name of the sent
452da5137abSMartin Matuskasnapshot.
453da5137abSMartin Matuska.Ar poolB
454da5137abSMartin Matuskamust contain the file system
455da5137abSMartin Matuska.Ar poolB/received .
456da5137abSMartin MatuskaIf
457da5137abSMartin Matuska.Ar poolB/received/fsA
458da5137abSMartin Matuskadoes not exist, it is created as an empty file system.
459da5137abSMartin Matuska.Bd -literal -compact -offset Ds
460da5137abSMartin Matuska.No # Nm zfs Cm send Ar poolA/fsA/fsB@snap |
461da5137abSMartin Matuska.No "   " Nm ssh Ar host Nm zfs Cm receive Fl d Ar poolB/received
462da5137abSMartin Matuska.Ed
463da5137abSMartin Matuska.
464eda14cbcSMatt Macy.Sh SEE ALSO
46516038816SMartin Matuska.Xr zfs-send 8 ,
466eda14cbcSMatt Macy.Xr zstream 8
467