Print this page
4045 zfs write throttle & i/o scheduler performance work
Reviewed by: George Wilson <george.wilson@delphix.com>
Reviewed by: Adam Leventhal <ahl@delphix.com>
Reviewed by: Christopher Siden <christopher.siden@delphix.com>

Split Close
Expand all
Collapse all
          --- old/usr/src/uts/common/fs/zfs/vdev_mirror.c
          +++ new/usr/src/uts/common/fs/zfs/vdev_mirror.c
↓ open down ↓ 424 lines elided ↑ open up ↑
 425  425                                  if (!(zio->io_flags & ZIO_FLAG_SCRUB) &&
 426  426                                      !vdev_dtl_contains(mc->mc_vd, DTL_PARTIAL,
 427  427                                      zio->io_txg, 1))
 428  428                                          continue;
 429  429                                  mc->mc_error = SET_ERROR(ESTALE);
 430  430                          }
 431  431  
 432  432                          zio_nowait(zio_vdev_child_io(zio, zio->io_bp,
 433  433                              mc->mc_vd, mc->mc_offset,
 434  434                              zio->io_data, zio->io_size,
 435      -                            ZIO_TYPE_WRITE, zio->io_priority,
      435 +                            ZIO_TYPE_WRITE, ZIO_PRIORITY_ASYNC_WRITE,
 436  436                              ZIO_FLAG_IO_REPAIR | (unexpected_errors ?
 437  437                              ZIO_FLAG_SELF_HEAL : 0), NULL, NULL));
 438  438                  }
 439  439          }
 440  440  }
 441  441  
 442  442  static void
 443  443  vdev_mirror_state_change(vdev_t *vd, int faulted, int degraded)
 444  444  {
 445  445          if (faulted == vd->vdev_children)
↓ open down ↓ 46 lines elided ↑ open up ↑
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX