From 9842588ba779c98194a9c238d52784a2e45a850e Mon Sep 17 00:00:00 2001 From: George Wilson Date: Mon, 12 Apr 2010 12:17:33 -0700 Subject: [PATCH] 6941175 panic assertion failed: scl->scl_writer != curthread,file: common/fs/zfs/spa_misc.c, line: 327 --- usr/src/uts/common/fs/zfs/spa_misc.c | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/usr/src/uts/common/fs/zfs/spa_misc.c b/usr/src/uts/common/fs/zfs/spa_misc.c index f1929a513a..c815cd6113 100644 --- a/usr/src/uts/common/fs/zfs/spa_misc.c +++ b/usr/src/uts/common/fs/zfs/spa_misc.c @@ -19,8 +19,7 @@ * CDDL HEADER END */ /* - * Copyright 2010 Sun Microsystems, Inc. All rights reserved. - * Use is subject to license terms. + * Copyright (c) 2005, 2010, Oracle and/or its affiliates. All rights reserved. */ #include @@ -969,9 +968,12 @@ spa_vdev_state_enter(spa_t *spa, int oplocks) * any I/O when we are doing the actual open. */ if (spa_is_root(spa)) { - spa_config_enter(spa, SCL_STATE | SCL_L2ARC, spa, RW_WRITER); + int low = locks & ~(SCL_ZIO - 1); + int high = locks & ~low; + + spa_config_enter(spa, high, spa, RW_WRITER); vdev_hold(spa->spa_root_vdev); - spa_config_enter(spa, SCL_ZIO | oplocks, spa, RW_WRITER); + spa_config_enter(spa, low, spa, RW_WRITER); } else { spa_config_enter(spa, locks, spa, RW_WRITER); } -- 2.11.4.GIT