From owner-svn-src-projects@FreeBSD.ORG Wed Mar 20 09:56:21 2013 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by hub.freebsd.org (Postfix) with ESMTP id 1F715BEE; Wed, 20 Mar 2013 09:56:21 +0000 (UTC) (envelope-from mm@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) by mx1.freebsd.org (Postfix) with ESMTP id EF0B1B05; Wed, 20 Mar 2013 09:56:20 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.6/8.14.6) with ESMTP id r2K9uKfF077944; Wed, 20 Mar 2013 09:56:20 GMT (envelope-from mm@svn.freebsd.org) Received: (from mm@localhost) by svn.freebsd.org (8.14.6/8.14.5/Submit) id r2K9uKoN077943; Wed, 20 Mar 2013 09:56:20 GMT (envelope-from mm@svn.freebsd.org) Message-Id: <201303200956.r2K9uKoN077943@svn.freebsd.org> From: Martin Matuska Date: Wed, 20 Mar 2013 09:56:20 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r248551 - projects/libzfs_core/sys/cddl/contrib/opensolaris/uts/common/fs/zfs X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 20 Mar 2013 09:56:21 -0000 Author: mm Date: Wed Mar 20 09:56:20 2013 New Revision: 248551 URL: http://svnweb.freebsd.org/changeset/base/248551 Log: Release hold on pool before calling zvol_create_minor() Modified: projects/libzfs_core/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zvol.c Modified: projects/libzfs_core/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zvol.c ============================================================================== --- projects/libzfs_core/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zvol.c Wed Mar 20 09:44:23 2013 (r248550) +++ projects/libzfs_core/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zvol.c Wed Mar 20 09:56:20 2013 (r248551) @@ -2233,13 +2233,16 @@ zvol_create_minors(const char *name) return (error); } if (dmu_objset_type(os) == DMU_OST_ZVOL) { + dsl_dataset_long_hold(os->os_dsl_dataset, FTAG); + dsl_pool_rele(dmu_objset_pool(os), FTAG); if ((error = zvol_create_minor(name)) == 0) error = zvol_create_snapshots(os, name); else { printf("ZFS WARNING: Unable to create ZVOL %s (error=%d).\n", name, error); } - dmu_objset_rele(os, FTAG); + dsl_dataset_long_rele(os->os_dsl_dataset, FTAG); + dsl_dataset_rele(os->os_dsl_dataset, FTAG); return (error); } if (dmu_objset_type(os) != DMU_OST_ZFS) {