Date: Wed, 20 Mar 2013 09:56:20 +0000 (UTC) From: Martin Matuska <mm@FreeBSD.org> 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 Message-ID: <201303200956.r2K9uKoN077943@svn.freebsd.org>
next in thread | raw e-mail | index | archive | help
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) {
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201303200956.r2K9uKoN077943>