summaryrefslogtreecommitdiff
path: root/usr/src/uts/common/fs/zfs/dsl_destroy.c
diff options
context:
space:
mode:
authorJustin Gibbs <justing@spectralogic.com>2015-01-05 19:27:09 -0500
committerDan McDonald <danmcd@omniti.com>2015-01-06 00:13:32 -0500
commitbc9014e6a81272073b9854d9f65dd59e18d18c35 (patch)
tree3d2031a48e13fc414f10f516a943cc23d88886d6 /usr/src/uts/common/fs/zfs/dsl_destroy.c
parentad69a33458cf73ee14857d57799cf686946e0b88 (diff)
downloadillumos-joyent-bc9014e6a81272073b9854d9f65dd59e18d18c35.tar.gz
5056 ZFS deadlock on db_mtx and dn_holds
Reviewed by: Will Andrews <willa@spectralogic.com> Reviewed by: Matt Ahrens <mahrens@delphix.com> Reviewed by: George Wilson <george.wilson@delphix.com> Approved by: Dan McDonald <danmcd@omniti.com>
Diffstat (limited to 'usr/src/uts/common/fs/zfs/dsl_destroy.c')
-rw-r--r--usr/src/uts/common/fs/zfs/dsl_destroy.c8
1 files changed, 4 insertions, 4 deletions
diff --git a/usr/src/uts/common/fs/zfs/dsl_destroy.c b/usr/src/uts/common/fs/zfs/dsl_destroy.c
index a776e144f1..7f9046957f 100644
--- a/usr/src/uts/common/fs/zfs/dsl_destroy.c
+++ b/usr/src/uts/common/fs/zfs/dsl_destroy.c
@@ -51,7 +51,7 @@ typedef struct dmu_snapshots_destroy_arg {
int
dsl_destroy_snapshot_check_impl(dsl_dataset_t *ds, boolean_t defer)
{
- if (!dsl_dataset_is_snapshot(ds))
+ if (!ds->ds_is_snapshot)
return (SET_ERROR(EINVAL));
if (dsl_dataset_long_held(ds))
@@ -354,7 +354,7 @@ dsl_destroy_snapshot_sync_impl(dsl_dataset_t *ds, boolean_t defer, dmu_tx_t *tx)
dsl_dataset_remove_clones_key(ds,
dsl_dataset_phys(ds)->ds_creation_txg, tx);
- if (dsl_dataset_is_snapshot(ds_next)) {
+ if (ds_next->ds_is_snapshot) {
dsl_dataset_t *ds_nextnext;
/*
@@ -604,8 +604,8 @@ dsl_destroy_head_check_impl(dsl_dataset_t *ds, int expected_holds)
uint64_t count;
objset_t *mos;
- ASSERT(!dsl_dataset_is_snapshot(ds));
- if (dsl_dataset_is_snapshot(ds))
+ ASSERT(!ds->ds_is_snapshot);
+ if (ds->ds_is_snapshot)
return (SET_ERROR(EINVAL));
if (refcount_count(&ds->ds_longholds) != expected_holds)