Print this page
6536 zfs send: want a way to disable sending of free records
Reviewed by: Alexander Stetsenko <astetsenko@racktopsystems.com>
Reviewed by: Kim Shrier <kshrier@racktopsystems.com>

@@ -24,10 +24,11 @@
  * Copyright (c) 2011, 2015 by Delphix. All rights reserved.
  * Copyright 2012 Milan Jurik. All rights reserved.
  * Copyright (c) 2012, Joyent, Inc. All rights reserved.
  * Copyright (c) 2013 Steven Hartland.  All rights reserved.
  * Copyright 2013 Nexenta Systems, Inc.  All rights reserved.
+ * Copyright 2015 RackTop Systems.
  */
 
 #include <assert.h>
 #include <ctype.h>
 #include <errno.h>

@@ -257,13 +258,13 @@
                     "\trename [-f] -p <filesystem|volume> <filesystem|volume>\n"
                     "\trename -r <snapshot> <snapshot>\n"));
         case HELP_ROLLBACK:
                 return (gettext("\trollback [-rRf] <snapshot>\n"));
         case HELP_SEND:
-                return (gettext("\tsend [-DnPpRvLe] [-[iI] snapshot] "
+                return (gettext("\tsend [-DnPpRvLeF] [-[iI] snapshot] "
                     "<snapshot>\n"
-                    "\tsend [-Le] [-i snapshot|bookmark] "
+                    "\tsend [-LeF] [-i snapshot|bookmark] "
                     "<filesystem|volume|snapshot>\n"
                     "\tsend [-nvPe] -t <receive_resume_token>\n"));
         case HELP_SET:
                 return (gettext("\tset <property=value> ... "
                     "<filesystem|volume|snapshot> ...\n"));

@@ -3685,11 +3686,11 @@
         int c, err;
         nvlist_t *dbgnv = NULL;
         boolean_t extraverbose = B_FALSE;
 
         /* check options */
-        while ((c = getopt(argc, argv, ":i:I:RDpvnPLet:")) != -1) {
+        while ((c = getopt(argc, argv, ":i:I:RDpvnPLet:F")) != -1) {
                 switch (c) {
                 case 'i':
                         if (fromname)
                                 usage(B_FALSE);
                         fromname = optarg;

@@ -3729,10 +3730,13 @@
                         flags.embed_data = B_TRUE;
                         break;
                 case 't':
                         resume_token = optarg;
                         break;
+                case 'F':
+                        flags.skip_free = B_TRUE;
+                        break;
                 case ':':
                         (void) fprintf(stderr, gettext("missing argument for "
                             "'%c' option\n"), optopt);
                         usage(B_FALSE);
                         break;