• Home
  • History
  • Annotate
  • Raw
  • Download
  • only in /freebsd-12-stable/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/

Lines Matching refs:zio

37 #include <sys/zio.h>
995 zio_t *zio;
997 zio = bp->bio_caller1;
998 vd = zio->io_vd;
999 zio->io_error = bp->bio_error;
1000 if (zio->io_error == 0 && bp->bio_resid != 0)
1001 zio->io_error = SET_ERROR(EIO);
1003 switch(zio->io_error) {
1028 spa_async_request(zio->io_spa,
1040 * for ZIO_TYPE_IOCTL zio-s.
1042 if (zio->io_type != ZIO_TYPE_READ && zio->io_type != ZIO_TYPE_WRITE) {
1044 zio->io_bio = NULL;
1046 zio_delay_interrupt(zio);
1050 vdev_geom_io_start(zio_t *zio)
1057 vd = zio->io_vd;
1059 switch (zio->io_type) {
1063 zio->io_error = SET_ERROR(ENXIO);
1064 zio_interrupt(zio);
1067 switch (zio->io_cmd) {
1072 zio->io_error = SET_ERROR(ENOTSUP);
1077 zio->io_error = SET_ERROR(ENOTSUP);
1081 zio_execute(zio);
1085 zio->io_error = SET_ERROR(ENOTSUP);
1089 zio_execute(zio);
1093 ASSERT(zio->io_type == ZIO_TYPE_READ ||
1094 zio->io_type == ZIO_TYPE_WRITE ||
1095 zio->io_type == ZIO_TYPE_FREE ||
1096 zio->io_type == ZIO_TYPE_IOCTL);
1100 zio->io_error = SET_ERROR(ENXIO);
1101 zio_interrupt(zio);
1105 bp->bio_caller1 = zio;
1106 switch (zio->io_type) {
1109 zio->io_target_timestamp = zio_handle_io_delay(zio);
1110 bp->bio_offset = zio->io_offset;
1111 bp->bio_length = zio->io_size;
1112 if (zio->io_type == ZIO_TYPE_READ) {
1115 abd_borrow_buf(zio->io_abd, zio->io_size);
1119 abd_borrow_buf_copy(zio->io_abd, zio->io_size);
1125 bp->bio_offset = zio->io_offset;
1126 bp->bio_length = zio->io_size;
1136 zio->io_bio = bp;
1142 vdev_geom_io_done(zio_t *zio)
1144 struct bio *bp = zio->io_bio;
1146 if (zio->io_type != ZIO_TYPE_READ && zio->io_type != ZIO_TYPE_WRITE) {
1152 ASSERT3S(zio->io_error, ==, ENXIO);
1156 if (zio->io_type == ZIO_TYPE_READ)
1157 abd_return_buf_copy(zio->io_abd, bp->bio_data, zio->io_size);
1159 abd_return_buf(zio->io_abd, bp->bio_data, zio->io_size);
1162 zio->io_bio = NULL;