Changeset View
Changeset View
Standalone View
Standalone View
sys/cddl/contrib/opensolaris/uts/common/fs/zfs/vdev_geom.c
Show First 20 Lines • Show All 1,065 Lines • ▼ Show 20 Lines | sendreq: | ||||
bp = g_alloc_bio(); | bp = g_alloc_bio(); | ||||
bp->bio_caller1 = zio; | bp->bio_caller1 = zio; | ||||
switch (zio->io_type) { | switch (zio->io_type) { | ||||
case ZIO_TYPE_READ: | case ZIO_TYPE_READ: | ||||
case ZIO_TYPE_WRITE: | case ZIO_TYPE_WRITE: | ||||
zio->io_target_timestamp = zio_handle_io_delay(zio); | zio->io_target_timestamp = zio_handle_io_delay(zio); | ||||
bp->bio_offset = zio->io_offset; | bp->bio_offset = zio->io_offset; | ||||
bp->bio_length = zio->io_size; | bp->bio_length = zio->io_size; | ||||
if ((zio->io_flags & (ZIO_FLAG_IO_RETRY|ZIO_FLAG_TRYHARD)) == 0) | |||||
bp->bio_flags |= BIO_NORETRY; | |||||
if (zio->io_type == ZIO_TYPE_READ) { | if (zio->io_type == ZIO_TYPE_READ) { | ||||
bp->bio_cmd = BIO_READ; | bp->bio_cmd = BIO_READ; | ||||
bp->bio_data = | bp->bio_data = | ||||
abd_borrow_buf(zio->io_abd, zio->io_size); | abd_borrow_buf(zio->io_abd, zio->io_size); | ||||
} else { | } else { | ||||
bp->bio_cmd = BIO_WRITE; | bp->bio_cmd = BIO_WRITE; | ||||
bp->bio_data = | bp->bio_data = | ||||
abd_borrow_buf_copy(zio->io_abd, zio->io_size); | abd_borrow_buf_copy(zio->io_abd, zio->io_size); | ||||
▲ Show 20 Lines • Show All 68 Lines • Show Last 20 Lines |