diff options
author | pjd <pjd@FreeBSD.org> | 2008-11-25 21:14:00 +0000 |
---|---|---|
committer | pjd <pjd@FreeBSD.org> | 2008-11-25 21:14:00 +0000 |
commit | 49203afd8c7d7140010993df59b7bfdb0557de3f (patch) | |
tree | 1909c16832a56eb1acac6a8c2f278445984e360c /sys/cddl/contrib/opensolaris/uts/common/fs/zfs/spa_config.c | |
parent | 12359ec70ec661ba582eacfd18561d9e3ca3ed4e (diff) | |
download | FreeBSD-src-49203afd8c7d7140010993df59b7bfdb0557de3f.zip FreeBSD-src-49203afd8c7d7140010993df59b7bfdb0557de3f.tar.gz |
Fix locking (file descriptor table and Giant around VFS).
Most submitted by: kib
Reviewed by: kib
Diffstat (limited to 'sys/cddl/contrib/opensolaris/uts/common/fs/zfs/spa_config.c')
-rw-r--r-- | sys/cddl/contrib/opensolaris/uts/common/fs/zfs/spa_config.c | 6 |
1 files changed, 2 insertions, 4 deletions
diff --git a/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/spa_config.c b/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/spa_config.c index c1af465..51770fc 100644 --- a/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/spa_config.c +++ b/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/spa_config.c @@ -154,11 +154,10 @@ out: static void spa_config_write(spa_config_dirent_t *dp, nvlist_t *nvl) { + int oflags = FWRITE | FTRUNC | FCREAT | FOFFMAX; + char *buf, *temp; size_t buflen; - char *buf; vnode_t *vp; - int oflags = FWRITE | FTRUNC | FCREAT | FOFFMAX; - char *temp; /* * If the nvlist is empty (NULL), then remove the old cachefile. @@ -193,7 +192,6 @@ spa_config_write(spa_config_dirent_t *dp, nvlist_t *nvl) (void) vn_rename(temp, dp->scd_path, UIO_SYSSPACE); } (void) VOP_CLOSE(vp, oflags, 1, 0, kcred, NULL); - VN_RELE(vp); } (void) vn_remove(temp, UIO_SYSSPACE, RMFILE); |