usr/src/uts/common/fs/zfs/spa_misc.c
changeset 4603 c7840c367d00
parent 4577 ed36b0e652bc
child 4620 4895df7f426f
--- a/usr/src/uts/common/fs/zfs/spa_misc.c	Fri Jul 06 02:39:29 2007 -0700
+++ b/usr/src/uts/common/fs/zfs/spa_misc.c	Fri Jul 06 09:21:26 2007 -0700
@@ -182,7 +182,8 @@
 int spa_mode;
 
 #ifdef ZFS_DEBUG
-int zfs_flags = ~0;
+/* Everything except dprintf is on by default in debug builds */
+int zfs_flags = ~ZFS_DEBUG_DPRINTF;
 #else
 int zfs_flags = 0;
 #endif
@@ -211,12 +212,27 @@
 {
 	spa_t search, *spa;
 	avl_index_t where;
+	char c;
+	char *cp;
 
 	ASSERT(MUTEX_HELD(&spa_namespace_lock));
 
+	/*
+	 * If it's a full dataset name, figure out the pool name and
+	 * just use that.
+	 */
+	cp = strpbrk(name, "/@");
+	if (cp) {
+		c = *cp;
+		*cp = '\0';
+	}
+
 	search.spa_name = (char *)name;
 	spa = avl_find(&spa_namespace_avl, &search, &where);
 
+	if (cp)
+		*cp = c;
+
 	return (spa);
 }