Lines Matching refs:zio
155 vdev_cache_allocate(zio_t *zio) in vdev_cache_allocate() argument
157 vdev_cache_t *vc = &zio->io_vd->vdev_cache; in vdev_cache_allocate()
158 uint64_t offset = P2ALIGN(zio->io_offset, VCBS); in vdev_cache_allocate()
191 vdev_cache_hit(vdev_cache_t *vc, vdev_cache_entry_t *ve, zio_t *zio) in vdev_cache_hit() argument
193 uint64_t cache_phase = P2PHASE(zio->io_offset, VCBS); in vdev_cache_hit()
205 abd_copy_off(zio->io_abd, ve->ve_abd, 0, cache_phase, zio->io_size); in vdev_cache_hit()
251 vdev_cache_read(zio_t *zio) in vdev_cache_read() argument
253 vdev_cache_t *vc = &zio->io_vd->vdev_cache; in vdev_cache_read()
255 uint64_t cache_offset = P2ALIGN(zio->io_offset, VCBS); in vdev_cache_read()
256 uint64_t cache_phase = P2PHASE(zio->io_offset, VCBS); in vdev_cache_read()
259 ASSERT3U(zio->io_type, ==, ZIO_TYPE_READ); in vdev_cache_read()
261 if (zio->io_flags & ZIO_FLAG_DONT_CACHE) in vdev_cache_read()
264 if (zio->io_size > zfs_vdev_cache_max) in vdev_cache_read()
270 if (P2BOUNDARY(zio->io_offset, zio->io_size, VCBS)) in vdev_cache_read()
273 ASSERT3U(cache_phase + zio->io_size, <=, VCBS); in vdev_cache_read()
287 zio_vdev_io_bypass(zio); in vdev_cache_read()
288 zio_add_child(zio, fio); in vdev_cache_read()
294 vdev_cache_hit(vc, ve, zio); in vdev_cache_read()
295 zio_vdev_io_bypass(zio); in vdev_cache_read()
302 ve = vdev_cache_allocate(zio); in vdev_cache_read()
309 fio = zio_vdev_delegated_io(zio->io_vd, cache_offset, in vdev_cache_read()
314 zio_vdev_io_bypass(zio); in vdev_cache_read()
315 zio_add_child(zio, fio); in vdev_cache_read()
328 vdev_cache_write(zio_t *zio) in vdev_cache_write() argument
330 vdev_cache_t *vc = &zio->io_vd->vdev_cache; in vdev_cache_write()
332 uint64_t io_start = zio->io_offset; in vdev_cache_write()
333 uint64_t io_end = io_start + zio->io_size; in vdev_cache_write()
338 ASSERT3U(zio->io_type, ==, ZIO_TYPE_WRITE); in vdev_cache_write()
355 abd_copy_off(ve->ve_abd, zio->io_abd, in vdev_cache_write()