summaryrefslogtreecommitdiffstats
path: root/include/sys
diff options
context:
space:
mode:
authorPaul Dagnelie <[email protected]>2016-06-09 11:18:16 -0700
committerBrian Behlendorf <[email protected]>2016-06-28 13:47:03 -0700
commite6d3a843d6ced970cbc74a3f809d744c30a7ec7c (patch)
treefbcb5128219b84a43f2704a26f6261e87fb3b416 /include/sys
parentfd41e93563b0543e2a2bdc17bceb731ed22a04b4 (diff)
OpenZFS 6393 - zfs receive a full send as a clone
Authored by: Paul Dagnelie <[email protected]> Reviewed by: Matthew Ahrens <[email protected]> Reviewed by: Prakash Surya <[email protected]> Reviewed by: Richard Elling <[email protected]> Approved by: Dan McDonald <[email protected]> Ported-by: Brian Behlendorf <[email protected]> OpenZFS-issue: https://www.illumos.org/issues/6394 OpenZFS-commit: https://github.com/openzfs/openzfs/commit/68ecb2e
Diffstat (limited to 'include/sys')
-rw-r--r--include/sys/dmu_impl.h3
-rw-r--r--include/sys/zfs_ioctl.h12
2 files changed, 12 insertions, 3 deletions
diff --git a/include/sys/dmu_impl.h b/include/sys/dmu_impl.h
index d700d1d17..3e4423c8d 100644
--- a/include/sys/dmu_impl.h
+++ b/include/sys/dmu_impl.h
@@ -24,7 +24,7 @@
*/
/*
* Copyright (c) 2012, Joyent, Inc. All rights reserved.
- * Copyright (c) 2013, 2014 by Delphix. All rights reserved.
+ * Copyright (c) 2013, 2015 by Delphix. All rights reserved.
*/
#ifndef _SYS_DMU_IMPL_H
@@ -268,7 +268,6 @@ typedef struct dmu_sendarg {
uint64_t dsa_toguid;
int dsa_err;
dmu_pendop_t dsa_pending_op;
- boolean_t dsa_incremental;
uint64_t dsa_featureflags;
uint64_t dsa_last_data_object;
uint64_t dsa_last_data_offset;
diff --git a/include/sys/zfs_ioctl.h b/include/sys/zfs_ioctl.h
index ee6b9f650..fafbc328c 100644
--- a/include/sys/zfs_ioctl.h
+++ b/include/sys/zfs_ioctl.h
@@ -20,7 +20,7 @@
*/
/*
* Copyright (c) 2005, 2010, Oracle and/or its affiliates. All rights reserved.
- * Copyright (c) 2012, 2014 by Delphix. All rights reserved.
+ * Copyright (c) 2012, 2015 by Delphix. All rights reserved.
*/
#ifndef _SYS_ZFS_IOCTL_H
@@ -138,6 +138,16 @@ typedef enum dmu_send_resume_token_version {
#define DRR_FLAG_CLONE (1<<0)
#define DRR_FLAG_CI_DATA (1<<1)
+/*
+ * This send stream, if it is a full send, includes the FREE and FREEOBJECT
+ * records that are created by the sending process. This means that the send
+ * stream can be received as a clone, even though it is not an incremental.
+ * This is not implemented as a feature flag, because the receiving side does
+ * not need to have implemented it to receive this stream; it is fully backwards
+ * compatible. We need a flag, though, because full send streams without it
+ * cannot necessarily be received as a clone correctly.
+ */
+#define DRR_FLAG_FREERECORDS (1<<2)
/*
* flags in the drr_checksumflags field in the DRR_WRITE and