summaryrefslogtreecommitdiff
path: root/usr/src
diff options
context:
space:
mode:
authorChris Kirby <Chris.Kirby@sun.com>2009-10-20 10:54:10 -0600
committerChris Kirby <Chris.Kirby@sun.com>2009-10-20 10:54:10 -0600
commitbdd1c119a2da4c25e7b3d9db5c432fd4925e3b0e (patch)
treebb7a955771b00c4f4eb9f3418ce27b80699595dd /usr/src
parent56664548661c43ae04de4a32bce3510ed36aeaf9 (diff)
downloadillumos-gate-bdd1c119a2da4c25e7b3d9db5c432fd4925e3b0e.tar.gz
6891564 7410C - zfs panic in recv_new_check()
Diffstat (limited to 'usr/src')
-rw-r--r--usr/src/uts/common/fs/zfs/dmu_send.c5
1 files changed, 2 insertions, 3 deletions
diff --git a/usr/src/uts/common/fs/zfs/dmu_send.c b/usr/src/uts/common/fs/zfs/dmu_send.c
index 658458b053..003d8dc0fd 100644
--- a/usr/src/uts/common/fs/zfs/dmu_send.c
+++ b/usr/src/uts/common/fs/zfs/dmu_send.c
@@ -540,7 +540,6 @@ dmu_recv_begin(char *tofs, char *tosnap, struct drr_begin *drrb,
drc->drc_real_ds = rbsa.ds;
} else if (err == ENOENT) {
/* target fs does not exist; must be a full backup or clone */
- dsl_dataset_t *parent;
char *cp;
/*
@@ -553,14 +552,14 @@ dmu_recv_begin(char *tofs, char *tosnap, struct drr_begin *drrb,
/* Open the parent of tofs */
cp = strrchr(tofs, '/');
*cp = '\0';
- err = dsl_dataset_hold(tofs, FTAG, &parent);
+ err = dsl_dataset_hold(tofs, FTAG, &ds);
*cp = '/';
if (err)
return (err);
err = dsl_sync_task_do(ds->ds_dir->dd_pool,
recv_new_check, recv_new_sync, ds->ds_dir, &rbsa, 5);
- dsl_dataset_rele(parent, FTAG);
+ dsl_dataset_rele(ds, FTAG);
if (err)
return (err);
drc->drc_logical_ds = drc->drc_real_ds = rbsa.ds;