diff options
| author | Keith M Wesolowski <wesolows@foobazco.org> | 2013-10-08 20:35:11 +0000 |
|---|---|---|
| committer | Keith M Wesolowski <wesolows@foobazco.org> | 2013-10-08 20:35:23 +0000 |
| commit | 8dabb8c07d158527e4563c519087b92df1f48969 (patch) | |
| tree | cdf8b43cad8d99f0d14d5a6d48a17e2199843e18 /usr/src/uts/common/fs/zfs/dsl_scan.c | |
| parent | 0c3e53c3a25115a415f4ee6f6d02e7a0a285a676 (diff) | |
| parent | 2acef22db7808606888f8f92715629ff3ba555b9 (diff) | |
| download | illumos-joyent-8dabb8c07d158527e4563c519087b92df1f48969.tar.gz | |
[illumos-gate merge]
commit 2acef22db7808606888f8f92715629ff3ba555b9
4171 clean up spa_feature_*() interfaces
4172 implement extensible_dataset feature for use by other zpool features
commit 018d3f06fe63d3b8316ef73502fb8f2dd473ffd1
3195 mpt_sas IOC reset races can cause panics
Conflicts:
usr/src/common/zfs/zfeature_common.h (preserve FS_SS_LIMIT)
Diffstat (limited to 'usr/src/uts/common/fs/zfs/dsl_scan.c')
| -rw-r--r-- | usr/src/uts/common/fs/zfs/dsl_scan.c | 13 |
1 files changed, 6 insertions, 7 deletions
diff --git a/usr/src/uts/common/fs/zfs/dsl_scan.c b/usr/src/uts/common/fs/zfs/dsl_scan.c index 15fff87c9e..050eccac22 100644 --- a/usr/src/uts/common/fs/zfs/dsl_scan.c +++ b/usr/src/uts/common/fs/zfs/dsl_scan.c @@ -102,7 +102,7 @@ dsl_scan_init(dsl_pool_t *dp, uint64_t txg) */ ASSERT(!scn->scn_async_destroying); scn->scn_async_destroying = spa_feature_is_active(dp->dp_spa, - &spa_feature_table[SPA_FEATURE_ASYNC_DESTROY]); + SPA_FEATURE_ASYNC_DESTROY); err = zap_lookup(dp->dp_meta_objset, DMU_POOL_DIRECTORY_OBJECT, "scrub_func", sizeof (uint64_t), 1, &f); @@ -1353,7 +1353,6 @@ dsl_scan_active(dsl_scan_t *scn) return (B_FALSE); if (spa_shutting_down(spa)) return (B_FALSE); - if (scn->scn_phys.scn_state == DSS_SCANNING || scn->scn_async_destroying) return (B_TRUE); @@ -1412,7 +1411,7 @@ dsl_scan_sync(dsl_pool_t *dp, dmu_tx_t *tx) VERIFY3U(0, ==, zio_wait(scn->scn_zio_root)); if (err == 0 && spa_feature_is_active(spa, - &spa_feature_table[SPA_FEATURE_ASYNC_DESTROY])) { + SPA_FEATURE_ASYNC_DESTROY)) { ASSERT(scn->scn_async_destroying); scn->scn_is_bptree = B_TRUE; scn->scn_zio_root = zio_root(dp->dp_spa, NULL, @@ -1423,11 +1422,11 @@ dsl_scan_sync(dsl_pool_t *dp, dmu_tx_t *tx) VERIFY0(zio_wait(scn->scn_zio_root)); if (err == 0) { - zfeature_info_t *feat = &spa_feature_table - [SPA_FEATURE_ASYNC_DESTROY]; /* finished; deactivate async destroy feature */ - spa_feature_decr(spa, feat, tx); - ASSERT(!spa_feature_is_active(spa, feat)); + spa_feature_decr(spa, SPA_FEATURE_ASYNC_DESTROY, + tx); + ASSERT(!spa_feature_is_active(spa, + SPA_FEATURE_ASYNC_DESTROY)); VERIFY0(zap_remove(dp->dp_meta_objset, DMU_POOL_DIRECTORY_OBJECT, DMU_POOL_BPTREE_OBJ, tx)); |
