Print this page
Placeholder

Split Close
Expand all
Collapse all
          --- old/usr/src/lib/libzfs_core/common/libzfs_core.c
          +++ new/usr/src/lib/libzfs_core/common/libzfs_core.c
↓ open down ↓ 14 lines elided ↑ open up ↑
  15   15   * If applicable, add the following below this CDDL HEADER, with the
  16   16   * fields enclosed by brackets "[]" replaced with your own identifying
  17   17   * information: Portions Copyright [yyyy] [name of copyright owner]
  18   18   *
  19   19   * CDDL HEADER END
  20   20   */
  21   21  
  22   22  /*
  23   23   * Copyright (c) 2012, 2014 by Delphix. All rights reserved.
  24   24   * Copyright (c) 2013 Steven Hartland. All rights reserved.
       25 + * Copyright 2015 RackTop Systems.
  25   26   */
  26   27  
  27   28  /*
  28   29   * LibZFS_Core (lzc) is intended to replace most functionality in libzfs.
  29   30   * It has the following characteristics:
  30   31   *
  31   32   *  - Thread Safe.  libzfs_core is accessible concurrently from multiple
  32   33   *  threads.  This is accomplished primarily by avoiding global data
  33   34   *  (e.g. caching).  Since it's thread-safe, there is no reason for a
  34   35   *  process to have multiple libzfs "instances".  Therefore, we store
↓ open down ↓ 444 lines elided ↑ open up ↑
 479  480          int err;
 480  481  
 481  482          args = fnvlist_alloc();
 482  483          fnvlist_add_int32(args, "fd", fd);
 483  484          if (from != NULL)
 484  485                  fnvlist_add_string(args, "fromsnap", from);
 485  486          if (flags & LZC_SEND_FLAG_LARGE_BLOCK)
 486  487                  fnvlist_add_boolean(args, "largeblockok");
 487  488          if (flags & LZC_SEND_FLAG_EMBED_DATA)
 488  489                  fnvlist_add_boolean(args, "embedok");
      490 +        if (flags & LZC_SEND_FLAG_SKIP_FREE)
      491 +                fnvlist_add_boolean(args, "skip_free");
 489  492          if (resumeobj != 0 || resumeoff != 0) {
 490  493                  fnvlist_add_uint64(args, "resume_object", resumeobj);
 491  494                  fnvlist_add_uint64(args, "resume_offset", resumeoff);
 492  495          }
 493  496          err = lzc_ioctl(ZFS_IOC_SEND_NEW, snapname, args, NULL);
 494  497          nvlist_free(args);
 495  498          return (err);
 496  499  }
 497  500  
 498  501  /*
↓ open down ↓ 302 lines elided ↑ open up ↑
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX