Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 5 Mar 2011 22:24:31 +0000 (UTC)
From:      Pawel Jakub Dawidek <pjd@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org
Subject:   svn commit: r219316 - head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs
Message-ID:  <201103052224.p25MOVXk078126@svn.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: pjd
Date: Sat Mar  5 22:24:31 2011
New Revision: 219316
URL: http://svn.freebsd.org/changeset/base/219316

Log:
  Simplify zvol_remove_minors() a bit.
  
  MFC after:	1 month

Modified:
  head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zvol.c

Modified: head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zvol.c
==============================================================================
--- head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zvol.c	Sat Mar  5 21:20:18 2011	(r219315)
+++ head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zvol.c	Sat Mar  5 22:24:31 2011	(r219316)
@@ -753,14 +753,13 @@ zvol_update_volsize(objset_t *os, uint64
 void
 zvol_remove_minors(const char *name)
 {
-	struct g_provider *pp, *pptmp;
 	struct g_geom *gp, *gptmp;
+	struct g_provider *pp;
 	zvol_state_t *zv;
-	char *namebuf;
+	size_t namelen;
+
+	namelen = strlen(name);
 
-	namebuf = kmem_zalloc(strlen(name) + 2, KM_SLEEP);
-	(void) strncpy(namebuf, name, strlen(name));
-	(void) strcat(namebuf, "/");
 	DROP_GIANT();
 	mutex_enter(&zfsdev_state_lock);
 	g_topology_lock();
@@ -772,10 +771,12 @@ zvol_remove_minors(const char *name)
 		zv = pp->private;
 		if (zv == NULL)
 			continue;
-		if (strncmp(namebuf, zv->zv_name, strlen(namebuf)) == 0)
+		if (strcmp(zv->zv_name, name) == 0 ||
+		    (strncmp(zv->zv_name, name, namelen) == 0 &&
+		     zv->zv_name[namelen] == '/')) {
 			(void) zvol_remove_zv(zv);
+		}
 	}
-	kmem_free(namebuf, strlen(name) + 2);
 
 	g_topology_unlock();
 	mutex_exit(&zfsdev_state_lock);



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201103052224.p25MOVXk078126>