| 4666 | } dbuf_remap_impl_callback_arg_t; |
| 4667 | |
| 4668 | static void |
| 4669 | dbuf_remap_impl_callback(uint64_t vdev, uint64_t offset, uint64_t size, |
| 4670 | void *arg) |
| 4671 | { |
| 4672 | dbuf_remap_impl_callback_arg_t *drica = arg; |
| 4673 | objset_t *os = drica->drica_os; |
| 4674 | spa_t *spa = dmu_objset_spa(os); |
| 4675 | dmu_tx_t *tx = drica->drica_tx; |
| 4676 | |
| 4677 | ASSERT(dsl_pool_sync_context(spa_get_dsl(spa))); |
| 4678 | |
| 4679 | if (os == spa_meta_objset(spa)) { |
| 4680 | spa_vdev_indirect_mark_obsolete(spa, vdev, offset, size, tx); |
| 4681 | } else { |
| 4682 | dsl_dataset_block_remapped(dmu_objset_ds(os), vdev, offset, |
| 4683 | size, drica->drica_blk_birth, tx); |
| 4684 | } |
| 4685 | } |
| 4686 | |
| 4687 | static void |
| 4688 | dbuf_remap_impl(dnode_t *dn, blkptr_t *bp, krwlock_t *rw, dmu_tx_t *tx) |
nothing calls this directly
no test coverage detected