| 578 | } |
| 579 | |
| 580 | void |
| 581 | ddt_decompress(uchar_t *src, void *dst, size_t s_len, size_t d_len) |
| 582 | { |
| 583 | uchar_t version = *src++; |
| 584 | int cpfunc = version & DDT_COMPRESS_FUNCTION_MASK; |
| 585 | zio_compress_info_t *ci = &zio_compress_table[cpfunc]; |
| 586 | |
| 587 | if (ci->ci_decompress != NULL) |
| 588 | (void) ci->ci_decompress(src, dst, s_len, d_len, ci->ci_level); |
| 589 | else |
| 590 | bcopy(src, dst, d_len); |
| 591 | |
| 592 | if (((version & DDT_COMPRESS_BYTEORDER_MASK) != 0) != |
| 593 | (ZFS_HOST_BYTEORDER != 0)) |
| 594 | byteswap_uint64_array(dst, d_len); |
| 595 | } |
| 596 | |
| 597 | ddt_t * |
| 598 | ddt_select(spa_t *spa, const blkptr_t *bp) |
no test coverage detected