diff options
author | Bill Pijewski <[email protected]> | 2012-05-09 15:05:14 -0700 |
---|---|---|
committer | Brian Behlendorf <[email protected]> | 2012-09-19 13:39:06 -0700 |
commit | 37abac6d559a1da8ab8e5379442f491b73998f6a (patch) | |
tree | ca8b1111122302e6151581c3524342dbb5cfff65 /include/sys/dmu_impl.h | |
parent | 1bd201e70d57464fd26bf9089ea4b44fd49e4f2d (diff) |
Illumos #2703: add mechanism to report ZFS send progress
Reviewed by: Matt Ahrens <[email protected]>
Reviewed by: Robert Mustacchi <[email protected]>
Reviewed by: Richard Lowe <[email protected]>
Approved by: Eric Schrock <[email protected]>
References:
https://www.illumos.org/issues/2703
Ported by: Martin Matuska <[email protected]>
Signed-off-by: Brian Behlendorf <[email protected]>
Diffstat (limited to 'include/sys/dmu_impl.h')
-rw-r--r-- | include/sys/dmu_impl.h | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/include/sys/dmu_impl.h b/include/sys/dmu_impl.h index 0b8748df1..f13a2a37c 100644 --- a/include/sys/dmu_impl.h +++ b/include/sys/dmu_impl.h @@ -21,6 +21,7 @@ /* * Copyright 2010 Sun Microsystems, Inc. All rights reserved. * Use is subject to license terms. + * Copyright (c) 2012, Joyent, Inc. All rights reserved. */ #ifndef _SYS_DMU_IMPL_H @@ -30,6 +31,7 @@ #include <sys/zio.h> #include <sys/dnode.h> #include <sys/zfs_context.h> +#include <sys/zfs_ioctl.h> #ifdef __cplusplus extern "C" { @@ -239,6 +241,32 @@ typedef struct dmu_xuio { iovec_t *iovp; } dmu_xuio_t; +/* + * The list of data whose inclusion in a send stream can be pending from + * one call to backup_cb to another. Multiple calls to dump_free() and + * dump_freeobjects() can be aggregated into a single DRR_FREE or + * DRR_FREEOBJECTS replay record. + */ +typedef enum { + PENDING_NONE, + PENDING_FREE, + PENDING_FREEOBJECTS +} dmu_pendop_t; + +typedef struct dmu_sendarg { + list_node_t dsa_link; + dmu_replay_record_t *dsa_drr; + vnode_t *dsa_vp; + int dsa_outfd; + proc_t *dsa_proc; + offset_t *dsa_off; + objset_t *dsa_os; + zio_cksum_t dsa_zc; + uint64_t dsa_toguid; + int dsa_err; + dmu_pendop_t dsa_pending_op; +} dmu_sendarg_t; + #ifdef __cplusplus } #endif |