summaryrefslogtreecommitdiff
path: root/usr/src/uts/common/fs/dev
diff options
context:
space:
mode:
authorEric Taylor <Eric.Taylor@Sun.COM>2009-10-12 12:49:44 -0600
committerEric Taylor <Eric.Taylor@Sun.COM>2009-10-12 12:49:44 -0600
commitff060bd829a533f5a355dbc1e21cf7652ce8f61b (patch)
tree7018f29244a528b9f094880c6c065ea4d96572a3 /usr/src/uts/common/fs/dev
parent3cb6289e2ca9588508c13868556e5cf7696a8b7d (diff)
downloadillumos-gate-ff060bd829a533f5a355dbc1e21cf7652ce8f61b.tar.gz
6890204 X4240 Server SunVTS regression panic[cpu3]: BAD TRAP: type=d (#gp General protection)
Diffstat (limited to 'usr/src/uts/common/fs/dev')
-rw-r--r--usr/src/uts/common/fs/dev/sdev_zvolops.c10
1 files changed, 5 insertions, 5 deletions
diff --git a/usr/src/uts/common/fs/dev/sdev_zvolops.c b/usr/src/uts/common/fs/dev/sdev_zvolops.c
index 7e78c4401f..89ce67dd68 100644
--- a/usr/src/uts/common/fs/dev/sdev_zvolops.c
+++ b/usr/src/uts/common/fs/dev/sdev_zvolops.c
@@ -46,7 +46,7 @@ static size_t devzvol_zclist_size;
static ldi_ident_t devzvol_li;
static ldi_handle_t devzvol_lh;
static kmutex_t devzvol_mtx;
-static int devzvol_isopen;
+static boolean_t devzvol_isopen;
/*
* we need to use ddi_mod* since fs/dev gets loaded early on in
@@ -120,9 +120,9 @@ devzvol_handle_ioctl(int cmd, zfs_cmd_t *zc, size_t *alloc_size)
if (cmd != ZFS_IOC_POOL_CONFIGS)
mutex_enter(&devzvol_mtx);
- if (devzvol_isopen == 0) {
+ if (!devzvol_isopen) {
if ((rc = devzvol_open_zfs()) == 0) {
- devzvol_isopen++;
+ devzvol_isopen = B_TRUE;
} else {
if (cmd != ZFS_IOC_POOL_CONFIGS)
mutex_exit(&devzvol_mtx);
@@ -366,10 +366,10 @@ devzvol_create_pool_dirs(struct vnode *dvp)
}
nvlist_free(nv);
mutex_enter(&devzvol_mtx);
- if (pools == 0) {
+ if (devzvol_isopen && pools == 0) {
/* clean up so zfs can be unloaded */
devzvol_close_zfs();
- devzvol_isopen--;
+ devzvol_isopen = B_FALSE;
}
out:
mutex_exit(&devzvol_mtx);