diff -r f7451cf8c6bc -r c7840c367d00 usr/src/uts/common/fs/zfs/spa_misc.c --- 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); }