summaryrefslogtreecommitdiff
path: root/usr/src
diff options
context:
space:
mode:
authorPaul Dagnelie <pcd@delphix.com>2015-04-26 15:26:13 -0700
committerMatthew Ahrens <mahrens@delphix.com>2015-04-26 15:26:13 -0700
commitf40b29ce2a815bcc0787acf6f520a2b74258b785 (patch)
tree2b58bf7c7c06e1c90adecdd522c88c28c1f05d3c /usr/src
parent23367a2f2caec1ccb4d918bdd0f2fc2c9cadcd06 (diff)
downloadillumos-joyent-f40b29ce2a815bcc0787acf6f520a2b74258b785.tar.gz
5809 Blowaway full receive in v1 pool causes kernel panic
Reviewed by: Matthew Ahrens <mahrens@delphix.com> Reviewed by: Alex Reece <alex@delphix.com> Reviewed by: Will Andrews <will@freebsd.org> Approved by: Gordon Ross <gwr@nexenta.com>
Diffstat (limited to 'usr/src')
-rw-r--r--usr/src/uts/common/fs/zfs/dmu_send.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/usr/src/uts/common/fs/zfs/dmu_send.c b/usr/src/uts/common/fs/zfs/dmu_send.c
index c4575f8f6d..e4abdc3254 100644
--- a/usr/src/uts/common/fs/zfs/dmu_send.c
+++ b/usr/src/uts/common/fs/zfs/dmu_send.c
@@ -1184,7 +1184,8 @@ dmu_recv_begin_sync(void *arg, dmu_tx_t *tx)
}
dsobj = dsl_dataset_create_sync(ds->ds_dir, recv_clone_name,
snap, crflags, drba->drba_cred, tx);
- dsl_dataset_rele(snap, FTAG);
+ if (drba->drba_snapobj != 0)
+ dsl_dataset_rele(snap, FTAG);
dsl_dataset_rele(ds, FTAG);
} else {
dsl_dir_t *dd;