diff options
author | Paul Dagnelie <[email protected]> | 2016-02-05 13:47:48 -0800 |
---|---|---|
committer | Brian Behlendorf <[email protected]> | 2016-02-08 09:37:55 -0800 |
commit | 6b42ea85903b5d96eddbe364e71636e6802d8da0 (patch) | |
tree | 8b81fa92e88291de850c614887e821d2f1d14a7d /module/zfs | |
parent | 8e4c5c9a9406f4708f2f05ab711a82c0465a0ebb (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')
-rw-r--r-- | module/zfs/dmu_send.c | 3 |
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; |