diff options
author | Eric Taylor <Eric.Taylor@Sun.COM> | 2009-10-12 12:49:44 -0600 |
---|---|---|
committer | Eric Taylor <Eric.Taylor@Sun.COM> | 2009-10-12 12:49:44 -0600 |
commit | ff060bd829a533f5a355dbc1e21cf7652ce8f61b (patch) | |
tree | 7018f29244a528b9f094880c6c065ea4d96572a3 /usr/src/uts/common/fs/dev | |
parent | 3cb6289e2ca9588508c13868556e5cf7696a8b7d (diff) | |
download | illumos-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.c | 10 |
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); |