* ========================================================================== * Push and pop I/O transform buffers * ========================================================================== */
| 382 | * ========================================================================== |
| 383 | */ |
| 384 | void |
| 385 | zio_push_transform(zio_t *zio, abd_t *data, uint64_t size, uint64_t bufsize, |
| 386 | zio_transform_func_t *transform) |
| 387 | { |
| 388 | zio_transform_t *zt = kmem_alloc(sizeof (zio_transform_t), KM_SLEEP); |
| 389 | |
| 390 | zt->zt_orig_abd = zio->io_abd; |
| 391 | zt->zt_orig_size = zio->io_size; |
| 392 | zt->zt_bufsize = bufsize; |
| 393 | zt->zt_transform = transform; |
| 394 | |
| 395 | zt->zt_next = zio->io_transform_stack; |
| 396 | zio->io_transform_stack = zt; |
| 397 | |
| 398 | zio->io_abd = data; |
| 399 | zio->io_size = size; |
| 400 | } |
| 401 | |
| 402 | void |
| 403 | zio_pop_transforms(zio_t *zio) |
no outgoing calls
no test coverage detected