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 **);