svn commit: r316918 - vendor/illumos/dist/lib/libzfs/common

Andriy Gapon avg at FreeBSD.org
Fri Apr 14 18:27:13 UTC 2017


Author: avg
Date: Fri Apr 14 18:27:12 2017
New Revision: 316918
URL: https://svnweb.freebsd.org/changeset/base/316918

Log:
  7990 libzfs: snapspec_cb() does not need to call zfs_strdup()
  
  illumos/illumos-gate at d8584ba6fb7a5e46da1725845b99ae5fab5a4baf
  https://github.com/illumos/illumos-gate/commit/d8584ba6fb7a5e46da1725845b99ae5fab5a4baf
  
  https://www.illumos.org/issues/7990
    The snapspec_cb() callback function in libzfs does not need to call zfs_strdup().
  
  Reviewed by: Yuri Pankov <yuri.pankov at gmail.com>
  Reviewed by: Toomas Soome <tsoome at me.com>
  Approved by: Matthew Ahrens <mahrens at delphix.com>
  Author: Marcel Telka <marcel at telka.sk>

Modified:
  vendor/illumos/dist/lib/libzfs/common/libzfs_iter.c

Modified: vendor/illumos/dist/lib/libzfs/common/libzfs_iter.c
==============================================================================
--- vendor/illumos/dist/lib/libzfs/common/libzfs_iter.c	Fri Apr 14 18:26:24 2017	(r316917)
+++ vendor/illumos/dist/lib/libzfs/common/libzfs_iter.c	Fri Apr 14 18:27:12 2017	(r316918)
@@ -317,16 +317,17 @@ static int
 snapspec_cb(zfs_handle_t *zhp, void *arg)
 {
 	snapspec_arg_t *ssa = arg;
-	char *shortsnapname;
+	const char *shortsnapname;
 	int err = 0;
 
 	if (ssa->ssa_seenlast)
 		return (0);
-	shortsnapname = zfs_strdup(zhp->zfs_hdl,
-	    strchr(zfs_get_name(zhp), '@') + 1);
 
+	shortsnapname = strchr(zfs_get_name(zhp), '@') + 1;
 	if (!ssa->ssa_seenfirst && strcmp(shortsnapname, ssa->ssa_first) == 0)
 		ssa->ssa_seenfirst = B_TRUE;
+	if (strcmp(shortsnapname, ssa->ssa_last) == 0)
+		ssa->ssa_seenlast = B_TRUE;
 
 	if (ssa->ssa_seenfirst) {
 		err = ssa->ssa_func(zhp, ssa->ssa_arg);
@@ -334,10 +335,6 @@ snapspec_cb(zfs_handle_t *zhp, void *arg
 		zfs_close(zhp);
 	}
 
-	if (strcmp(shortsnapname, ssa->ssa_last) == 0)
-		ssa->ssa_seenlast = B_TRUE;
-	free(shortsnapname);
-
 	return (err);
 }
 


More information about the svn-src-all mailing list