| 59 | } |
| 60 | |
| 61 | void |
| 62 | bpobj_decr_empty(objset_t *os, dmu_tx_t *tx) |
| 63 | { |
| 64 | dsl_pool_t *dp = dmu_objset_pool(os); |
| 65 | |
| 66 | spa_feature_decr(dmu_objset_spa(os), SPA_FEATURE_EMPTY_BPOBJ, tx); |
| 67 | if (!spa_feature_is_active(dmu_objset_spa(os), |
| 68 | SPA_FEATURE_EMPTY_BPOBJ)) { |
| 69 | VERIFY3U(0, ==, zap_remove(dp->dp_meta_objset, |
| 70 | DMU_POOL_DIRECTORY_OBJECT, |
| 71 | DMU_POOL_EMPTY_BPOBJ, tx)); |
| 72 | VERIFY3U(0, ==, dmu_object_free(os, dp->dp_empty_bpobj, tx)); |
| 73 | dp->dp_empty_bpobj = 0; |
| 74 | } |
| 75 | } |
| 76 | |
| 77 | uint64_t |
| 78 | bpobj_alloc(objset_t *os, int blocksize, dmu_tx_t *tx) |
no test coverage detected