FreeBSD/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/spa_misc.c
/*
 * Remove a reference to the given spa_t held by a dsl dir that is
 * being asynchronously released.  Async releases occur from a taskq
 * performing eviction of dsl datasets and dirs.  The namespace lock
 * isn't held and the hold by the object being evicted may contribute to
 * spa_minref (e.g. dataset or directory released during pool export),
 * so the asserts in spa_close() do not apply.
 */
Remove a reference to the given spa_t held by a dsl dir that is
being asynchronously released.  Async releases occur from a taskq
performing eviction of dsl datasets and dirs.  The namespace lock
isn't held and the hold by the object being evicted may contribute to
spa_minref ,
so the asserts in spa_close() do not apply.
Remove a reference to the given spa_t held by a dsl dir that is being asynchronously released . Async releases occur from a taskq performing eviction of dsl datasets and dirs . The namespace lock isn ' t held and the hold by the object being evicted may contribute to spa_minref so the asserts in spa_close () do not apply .
void
spa_async_close(spa_t *spa, void *tag)
{
	(void) refcount_remove(&spa->spa_refcount, tag);
}
void spa_async_close ( spa_t * spa , void * tag ) { ( void ) refcount_remove ( & spa -> spa_refcount , tag ) ; }
Remove a reference to the given spa_t held by a dsl dir that is
 being asynchronously released.
Remove a reference to the given spa_t held by a dsl dir that is being asynchronously released .