From owner-svn-src-all@FreeBSD.ORG Sat Nov 19 11:44:21 2011 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 45E21106564A; Sat, 19 Nov 2011 11:44:21 +0000 (UTC) (envelope-from pjd@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 2B3818FC0C; Sat, 19 Nov 2011 11:44:21 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id pAJBiLMC040910; Sat, 19 Nov 2011 11:44:21 GMT (envelope-from pjd@svn.freebsd.org) Received: (from pjd@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id pAJBiKQI040906; Sat, 19 Nov 2011 11:44:20 GMT (envelope-from pjd@svn.freebsd.org) Message-Id: <201111191144.pAJBiKQI040906@svn.freebsd.org> From: Pawel Jakub Dawidek Date: Sat, 19 Nov 2011 11:44:20 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-releng@freebsd.org X-SVN-Group: releng MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r227709 - in releng/9.0/cddl/contrib/opensolaris: cmd/zdb head lib/libzpool/common X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 19 Nov 2011 11:44:21 -0000 Author: pjd Date: Sat Nov 19 11:44:20 2011 New Revision: 227709 URL: http://svn.freebsd.org/changeset/base/227709 Log: MFC r226613,r226615,r226616: r226613: libzpool task_alloc: pass only valid flags to kmem_alloc tqflags may contain other flags besided those that are suitable for kmem_alloc == umem_alloc Submitted by: avg r226615: thr_create: new_thread_ID may be NULL Submitted by: avg r226616: zdb: access dp_free_bpobj only if pool version is >= SPA_VERSION_DEADLISTS Submitted by: avg Approved by: re (kib) Modified: releng/9.0/cddl/contrib/opensolaris/cmd/zdb/zdb.c releng/9.0/cddl/contrib/opensolaris/head/thread.h releng/9.0/cddl/contrib/opensolaris/lib/libzpool/common/taskq.c Directory Properties: releng/9.0/cddl/contrib/opensolaris/ (props changed) Modified: releng/9.0/cddl/contrib/opensolaris/cmd/zdb/zdb.c ============================================================================== --- releng/9.0/cddl/contrib/opensolaris/cmd/zdb/zdb.c Sat Nov 19 11:43:18 2011 (r227708) +++ releng/9.0/cddl/contrib/opensolaris/cmd/zdb/zdb.c Sat Nov 19 11:44:20 2011 (r227709) @@ -2190,8 +2190,10 @@ dump_block_stats(spa_t *spa) */ (void) bpobj_iterate_nofree(&spa->spa_deferred_bpobj, count_block_cb, &zcb, NULL); - (void) bpobj_iterate_nofree(&spa->spa_dsl_pool->dp_free_bpobj, - count_block_cb, &zcb, NULL); + if (spa_version(spa) >= SPA_VERSION_DEADLISTS) { + (void) bpobj_iterate_nofree(&spa->spa_dsl_pool->dp_free_bpobj, + count_block_cb, &zcb, NULL); + } if (dump_opt['c'] > 1) flags |= TRAVERSE_PREFETCH_DATA; Modified: releng/9.0/cddl/contrib/opensolaris/head/thread.h ============================================================================== --- releng/9.0/cddl/contrib/opensolaris/head/thread.h Sat Nov 19 11:43:18 2011 (r227708) +++ releng/9.0/cddl/contrib/opensolaris/head/thread.h Sat Nov 19 11:44:20 2011 (r227709) @@ -76,6 +76,7 @@ static __inline int thr_create(void *stack_base, size_t stack_size, void *(*start_func) (void*), void *arg, long flags, thread_t *new_thread_ID) { + pthread_t dummy; int ret; assert(stack_base == NULL); @@ -85,9 +86,12 @@ thr_create(void *stack_base, size_t stac pthread_attr_t attr; pthread_attr_init(&attr); - if(flags & THR_DETACHED) + if (flags & THR_DETACHED) pthread_attr_setdetachstate(&attr, PTHREAD_CREATE_DETACHED); + if (new_thread_ID == NULL) + new_thread_ID = &dummy; + /* This function ignores the THR_BOUND flag, since NPTL doesn't seem to support PTHREAD_SCOPE_PROCESS */ ret = pthread_create(new_thread_ID, &attr, start_func, arg); Modified: releng/9.0/cddl/contrib/opensolaris/lib/libzpool/common/taskq.c ============================================================================== --- releng/9.0/cddl/contrib/opensolaris/lib/libzpool/common/taskq.c Sat Nov 19 11:43:18 2011 (r227708) +++ releng/9.0/cddl/contrib/opensolaris/lib/libzpool/common/taskq.c Sat Nov 19 11:44:20 2011 (r227709) @@ -87,7 +87,7 @@ again: if ((t = tq->tq_freelist) != NULL } mutex_exit(&tq->tq_lock); - t = kmem_alloc(sizeof (task_t), tqflags); + t = kmem_alloc(sizeof (task_t), tqflags & KM_SLEEP); mutex_enter(&tq->tq_lock); if (t != NULL)