diff options
author | delphij <delphij@FreeBSD.org> | 2013-06-11 19:16:14 +0000 |
---|---|---|
committer | delphij <delphij@FreeBSD.org> | 2013-06-11 19:16:14 +0000 |
commit | 051062c8add5c68ceb7d29cd80b68fd58b7099a8 (patch) | |
tree | 353b62d36b32695fc644e5b9d61e42242e41e60e /sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dsl_dataset.c | |
parent | b7b5433b3942fea3429024cd3ba2b31270326078 (diff) | |
download | FreeBSD-src-051062c8add5c68ceb7d29cd80b68fd58b7099a8.zip FreeBSD-src-051062c8add5c68ceb7d29cd80b68fd58b7099a8.tar.gz |
MFV r251621:
ZFS needs a refcount audit
Illumos ZFS issues:
3741 zfs needs a refcount audit
MFC after: 2 weeks
Diffstat (limited to 'sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dsl_dataset.c')
-rw-r--r-- | sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dsl_dataset.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dsl_dataset.c b/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dsl_dataset.c index 7333d3b..433ff53 100644 --- a/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dsl_dataset.c +++ b/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dsl_dataset.c @@ -361,8 +361,10 @@ dsl_dataset_hold_obj(dsl_pool_t *dp, uint64_t dsobj, void *tag, /* Make sure dsobj has the correct object type. */ dmu_object_info_from_db(dbuf, &doi); - if (doi.doi_type != DMU_OT_DSL_DATASET) + if (doi.doi_type != DMU_OT_DSL_DATASET) { + dmu_buf_rele(dbuf, tag); return (SET_ERROR(EINVAL)); + } ds = dmu_buf_get_user(dbuf); if (ds == NULL) { |