summaryrefslogtreecommitdiffstats
path: root/module/zfs/dmu_send.c
diff options
context:
space:
mode:
authorPaul Dagnelie <[email protected]>2016-02-05 13:47:48 -0800
committerBrian Behlendorf <[email protected]>2016-02-08 09:37:55 -0800
commit6b42ea85903b5d96eddbe364e71636e6802d8da0 (patch)
tree8b81fa92e88291de850c614887e821d2f1d14a7d /module/zfs/dmu_send.c
parent8e4c5c9a9406f4708f2f05ab711a82c0465a0ebb (diff)
Illumos 5809 - Blowaway full receive in v1 pool causes kernel panic
5809 Blowaway full receive in v1 pool causes kernel panic Reviewed by: Matthew Ahrens <[email protected]> Reviewed by: Alex Reece <[email protected]> Reviewed by: Will Andrews <[email protected]> Approved by: Gordon Ross <[email protected]> References: https://www.illumos.org/issues/5809 https://github.com/illumos/illumos-gate/commit/f40b29c Ported-by: Brian Behlendorf <[email protected]>
Diffstat (limited to 'module/zfs/dmu_send.c')
-rw-r--r--module/zfs/dmu_send.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/module/zfs/dmu_send.c b/module/zfs/dmu_send.c
index 88d27c867..6585e4778 100644
--- a/module/zfs/dmu_send.c
+++ b/module/zfs/dmu_send.c
@@ -1350,7 +1350,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;