Print this page
NEX-9673 Add capability to replicate cloned datasets relative to origin
Reviewed by: Alex Deiter <alex.deiter@nexenta.com>
Reviewed by: Sanjay Nadkarni <sanjay.nadkarni@nexenta.com>
6358 A faulted pool with only unavailable vdevs triggers assertion failure in libzfs
Reviewed by: Matthew Ahrens <mahrens@delphix.com>
Reviewed by: Andrew Stormont <andyjstormont@gmail.com>
Reviewed by: Serban Maduta <serban.maduta@gmail.com>
Approved by: Dan McDonald <danmcd@omniti.com>
6393 zfs receive a full send as a clone
Reviewed by: Matthew Ahrens <mahrens@delphix.com>
Reviewed by: Prakash Surya <prakash.surya@delphix.com>
Reviewed by: Richard Elling <Richard.Elling@RichardElling.com>
Approved by: Dan McDonald <danmcd@omniti.com>
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>
NEX-3558 KRRP Integration
Bug 10481 - Dry run option in 'zfs send' isn't the same as in NexentaStor 3.1

*** 19,32 **** * CDDL HEADER END */ /* * Copyright 2010 Sun Microsystems, Inc. All rights reserved. * Use is subject to license terms. - */ - /* * Copyright (c) 2012, Joyent, Inc. All rights reserved. * Copyright (c) 2013, 2015 by Delphix. All rights reserved. */ #ifndef _SYS_DMU_IMPL_H #define _SYS_DMU_IMPL_H --- 19,31 ---- * CDDL HEADER END */ /* * Copyright 2010 Sun Microsystems, Inc. All rights reserved. * Use is subject to license terms. * Copyright (c) 2012, Joyent, Inc. All rights reserved. * Copyright (c) 2013, 2015 by Delphix. All rights reserved. + * Copyright 2015 Nexenta Systems, Inc. All rights reserved. */ #ifndef _SYS_DMU_IMPL_H #define _SYS_DMU_IMPL_H
*** 33,42 **** --- 32,42 ---- #include <sys/txg_impl.h> #include <sys/zio.h> #include <sys/dnode.h> #include <sys/zfs_context.h> #include <sys/zfs_ioctl.h> + #include <sys/dmu_krrp.h> #ifdef __cplusplus extern "C" { #endif
*** 289,307 **** --- 289,323 ---- objset_t *dsa_os; zio_cksum_t dsa_zc; uint64_t dsa_toguid; int dsa_err; dmu_pendop_t dsa_pending_op; + boolean_t sendsize; uint64_t dsa_featureflags; uint64_t dsa_last_data_object; uint64_t dsa_last_data_offset; + dmu_krrp_task_t *dsa_krrp_task; uint64_t dsa_resume_object; uint64_t dsa_resume_offset; boolean_t dsa_sent_begin; boolean_t dsa_sent_end; } dmu_sendarg_t; + void *dmu_krrp_stream_init(); + void dmu_krrp_stream_fini(void *handler); + int dmu_krrp_buffer_write(void *buf, int len, + dmu_krrp_task_t *krrp_task); + int dmu_krrp_buffer_read(void *buf, int len, + dmu_krrp_task_t *krrp_task); + void* dmu_krrp_init_send_task(void *args); + void* dmu_krrp_init_recv_task(void *args); + int dmu_krrp_fini_task(void *krrp_task_void); + int dmu_krrp_lend_send_buffer(void *krrp_task_void, + kreplication_buffer_t *buffer); + int dmu_krrp_lend_recv_buffer(void *krrp_task_void, + kreplication_buffer_t *buffer); + void dmu_object_zapify(objset_t *, uint64_t, dmu_object_type_t, dmu_tx_t *); void dmu_object_free_zapified(objset_t *, uint64_t, dmu_tx_t *); int dmu_buf_hold_noread(objset_t *, uint64_t, uint64_t, void *, dmu_buf_t **);