diff options
author | pjd <pjd@FreeBSD.org> | 2009-08-17 09:13:22 +0000 |
---|---|---|
committer | pjd <pjd@FreeBSD.org> | 2009-08-17 09:13:22 +0000 |
commit | 3b760e60f0f60676ace81a2e1598b30f5d6e6452 (patch) | |
tree | 7616576d561a765f38fea326183037b2318f7781 | |
parent | ea8df6fcea7daa26626d5ebfe923d8bafdb0434a (diff) | |
download | FreeBSD-src-3b760e60f0f60676ace81a2e1598b30f5d6e6452.zip FreeBSD-src-3b760e60f0f60676ace81a2e1598b30f5d6e6452.tar.gz |
Fix panic in zfs recv code. The last vnode (mountpoint's vnode) can have
0 usecount.
Reported by: Thomas Backman <serenity@exscape.org>
Approved by: re (kib)
-rw-r--r-- | sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_vfsops.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_vfsops.c b/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_vfsops.c index a2bf460..16c6683 100644 --- a/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_vfsops.c +++ b/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_vfsops.c @@ -917,7 +917,7 @@ zfsvfs_teardown(zfsvfs_t *zfsvfs, boolean_t unmounting) for (zp = list_head(&zfsvfs->z_all_znodes); zp != NULL; zp = list_next(&zfsvfs->z_all_znodes, zp)) if (zp->z_dbuf) { - ASSERT(ZTOV(zp)->v_count > 0); + ASSERT(ZTOV(zp)->v_count >= 0); zfs_znode_dmu_fini(zp); } mutex_exit(&zfsvfs->z_znodes_lock); |