Print this page
4171 clean up spa_feature_*() interfaces
4172 implement extensible_dataset feature for use by other zpool features
Reviewed by: Max Grossman <max.grossman@delphix.com>
Reviewed by: Christopher Siden <christopher.siden@delphix.com>
Reviewed by: George Wilson <george.wilson@delphix.com>

Split Close
Expand all
Collapse all
          --- old/usr/src/uts/common/fs/zfs/dsl_pool.c
          +++ new/usr/src/uts/common/fs/zfs/dsl_pool.c
↓ open down ↓ 242 lines elided ↑ open up ↑
 243  243                          goto out;
 244  244  
 245  245                  err = zap_lookup(dp->dp_meta_objset, DMU_POOL_DIRECTORY_OBJECT,
 246  246                      DMU_POOL_FREE_BPOBJ, sizeof (uint64_t), 1, &obj);
 247  247                  if (err)
 248  248                          goto out;
 249  249                  VERIFY0(bpobj_open(&dp->dp_free_bpobj,
 250  250                      dp->dp_meta_objset, obj));
 251  251          }
 252  252  
 253      -        if (spa_feature_is_active(dp->dp_spa,
 254      -            &spa_feature_table[SPA_FEATURE_ASYNC_DESTROY])) {
      253 +        if (spa_feature_is_active(dp->dp_spa, SPA_FEATURE_ASYNC_DESTROY)) {
 255  254                  err = zap_lookup(dp->dp_meta_objset, DMU_POOL_DIRECTORY_OBJECT,
 256  255                      DMU_POOL_BPTREE_OBJ, sizeof (uint64_t), 1,
 257  256                      &dp->dp_bptree_obj);
 258  257                  if (err != 0)
 259  258                          goto out;
 260  259          }
 261  260  
 262      -        if (spa_feature_is_active(dp->dp_spa,
 263      -            &spa_feature_table[SPA_FEATURE_EMPTY_BPOBJ])) {
      261 +        if (spa_feature_is_active(dp->dp_spa, SPA_FEATURE_EMPTY_BPOBJ)) {
 264  262                  err = zap_lookup(dp->dp_meta_objset, DMU_POOL_DIRECTORY_OBJECT,
 265  263                      DMU_POOL_EMPTY_BPOBJ, sizeof (uint64_t), 1,
 266  264                      &dp->dp_empty_bpobj);
 267  265                  if (err != 0)
 268  266                          goto out;
 269  267          }
 270  268  
 271  269          err = zap_lookup(dp->dp_meta_objset, DMU_POOL_DIRECTORY_OBJECT,
 272  270              DMU_POOL_TMP_USERREFS, sizeof (uint64_t), 1,
 273  271              &dp->dp_tmp_userrefs_obj);
↓ open down ↓ 775 lines elided ↑ open up ↑
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX