summaryrefslogtreecommitdiff
path: root/usr/src/lib/libzfs/common/libzfs.h
diff options
context:
space:
mode:
authorMatthew Ahrens <mahrens@delphix.com>2015-10-09 21:56:01 -0700
committerMatthew Ahrens <mahrens@delphix.com>2015-10-09 21:56:01 -0700
commit9c3fd1216fa7fb02cfbc78a2518a686d54b48ab8 (patch)
tree38f7ac42de9d29c9fb4f3d8dfe79416f6db7c6d6 /usr/src/lib/libzfs/common/libzfs.h
parent89fdfac39633dc6769133c82b68b1ed74c2bc54b (diff)
downloadillumos-gate-9c3fd1216fa7fb02cfbc78a2518a686d54b48ab8.tar.gz
2605 want to resume interrupted zfs send
Reviewed by: George Wilson <george.wilson@delphix.com> Reviewed by: Paul Dagnelie <pcd@delphix.com> Reviewed by: Richard Elling <Richard.Elling@RichardElling.com> Reviewed by: Xin Li <delphij@freebsd.org> Reviewed by: Arne Jansen <sensille@gmx.net> Approved by: Dan McDonald <danmcd@omniti.com>
Diffstat (limited to 'usr/src/lib/libzfs/common/libzfs.h')
-rw-r--r--usr/src/lib/libzfs/common/libzfs.h10
1 files changed, 10 insertions, 0 deletions
diff --git a/usr/src/lib/libzfs/common/libzfs.h b/usr/src/lib/libzfs/common/libzfs.h
index 6cc0ef8114..a92c2042f4 100644
--- a/usr/src/lib/libzfs/common/libzfs.h
+++ b/usr/src/lib/libzfs/common/libzfs.h
@@ -604,6 +604,10 @@ typedef boolean_t (snapfilter_cb_t)(zfs_handle_t *, void *);
extern int zfs_send(zfs_handle_t *, const char *, const char *,
sendflags_t *, int, snapfilter_cb_t, void *, nvlist_t **);
extern int zfs_send_one(zfs_handle_t *, const char *, int, enum lzc_send_flags);
+extern int zfs_send_resume(libzfs_handle_t *, sendflags_t *, int outfd,
+ const char *);
+extern nvlist_t *zfs_send_resume_token_to_nvlist(libzfs_handle_t *hdl,
+ const char *token);
extern int zfs_promote(zfs_handle_t *);
extern int zfs_hold(zfs_handle_t *, const char *, const char *,
@@ -644,6 +648,12 @@ typedef struct recvflags {
/* set "canmount=off" on all modified filesystems */
boolean_t canmountoff;
+ /*
+ * Mark the file systems as "resumable" and do not destroy them if the
+ * receive is interrupted
+ */
+ boolean_t resumable;
+
/* byteswap flag is used internally; callers need not specify */
boolean_t byteswap;