diff options
author | Matthew Ahrens <Matthew.Ahrens@Sun.COM> | 2009-10-15 13:10:06 -0700 |
---|---|---|
committer | Matthew Ahrens <Matthew.Ahrens@Sun.COM> | 2009-10-15 13:10:06 -0700 |
commit | c33e334fd3eb2b3d91c4b9667d7a465b6924e8d3 (patch) | |
tree | fe5efee3002c1a9ffdf0a4fe1f2e6e1e0fee5608 /usr/src/uts/common/fs/zfs/dsl_pool.c | |
parent | 975c32a05c38c6fa808592dd35fa6dba183ca077 (diff) | |
download | illumos-gate-c33e334fd3eb2b3d91c4b9667d7a465b6924e8d3.tar.gz |
6822816 assertion failed: zap_remove_int(ds_next_clones_obj) returns ENOENT
6891731 zfs_vdev_max_pending should be 10
6891726 ztest_fzap runs too much
Diffstat (limited to 'usr/src/uts/common/fs/zfs/dsl_pool.c')
-rw-r--r-- | usr/src/uts/common/fs/zfs/dsl_pool.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/usr/src/uts/common/fs/zfs/dsl_pool.c b/usr/src/uts/common/fs/zfs/dsl_pool.c index 3ff8a9f5ae..f003ebe6f8 100644 --- a/usr/src/uts/common/fs/zfs/dsl_pool.c +++ b/usr/src/uts/common/fs/zfs/dsl_pool.c @@ -608,6 +608,7 @@ upgrade_clones_cb(spa_t *spa, uint64_t dsobj, const char *dsname, void *arg) ASSERT(ds->ds_phys->ds_prev_snap_obj == prev->ds_object); if (prev->ds_phys->ds_next_clones_obj == 0) { + dmu_buf_will_dirty(prev->ds_dbuf, tx); prev->ds_phys->ds_next_clones_obj = zap_create(dp->dp_meta_objset, DMU_OT_NEXT_CLONES, DMU_OT_NONE, 0, tx); @@ -627,8 +628,8 @@ dsl_pool_upgrade_clones(dsl_pool_t *dp, dmu_tx_t *tx) ASSERT(dmu_tx_is_syncing(tx)); ASSERT(dp->dp_origin_snap != NULL); - (void) dmu_objset_find_spa(dp->dp_spa, NULL, upgrade_clones_cb, - tx, DS_FIND_CHILDREN); + VERIFY3U(0, ==, dmu_objset_find_spa(dp->dp_spa, NULL, upgrade_clones_cb, + tx, DS_FIND_CHILDREN)); } void |