aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMartin Matuska <mm@FreeBSD.org>2013-04-01 16:14:57 +0000
committerMartin Matuska <mm@FreeBSD.org>2013-04-01 16:14:57 +0000
commit20547d41f8582084ef08ad7d29da0cdce439e549 (patch)
treed884c5655734ceb1165c7c11f6a8f7729122b3d7
parentee8c73cd0620f07e08739e6d51a28ffe94bdd8c2 (diff)
downloadsrc-20547d41f8582084ef08ad7d29da0cdce439e549.tar.gz
src-20547d41f8582084ef08ad7d29da0cdce439e549.zip
Call dmu_snapshot_list_next() in zvol.c with dsl_pool_config lock held
Submitted by: Andriy Gapon <avg@FreeBSD.org> MFC after: 17 days
Notes
Notes: svn path=/head/; revision=248976
-rw-r--r--sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zvol.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zvol.c b/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zvol.c
index 659805d1702f..a2ca34e93337 100644
--- a/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zvol.c
+++ b/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zvol.c
@@ -2197,8 +2197,10 @@ zvol_create_snapshots(objset_t *os, const char *name)
break;
}
+ dsl_pool_config_enter(dmu_objset_pool(os), FTAG);
error = dmu_snapshot_list_next(os, MAXPATHLEN - len,
sname + len, &obj, &cookie, NULL);
+ dsl_pool_config_exit(dmu_objset_pool(os), FTAG);
if (error != 0) {
if (error == ENOENT)
error = 0;