Print this page
3949 ztest fault injection should avoid resilvering devices
3950 ztest: deadman fires when we're doing a scan
3951 ztest hang when running dedup test
3952 ztest: ztest_reguid test and ztest_fault_inject don't place nice together
Reviewed by: Matthew Ahrens <mahrens@delphix.com>
Reviewed by: Adam Leventhal <ahl@delphix.com>

Split Close
Expand all
Collapse all
          --- old/usr/src/uts/common/fs/zfs/vdev_file.c
          +++ new/usr/src/uts/common/fs/zfs/vdev_file.c
↓ open down ↓ 177 lines elided ↑ open up ↑
 178  178                  biodone(bp);
 179  179          } else {
 180  180                  bioerror(bp, error);
 181  181                  biodone(bp);
 182  182          }
 183  183  }
 184  184  
 185  185  static int
 186  186  vdev_file_io_start(zio_t *zio)
 187  187  {
 188      -        spa_t *spa = zio->io_spa;
 189  188          vdev_t *vd = zio->io_vd;
 190  189          vdev_file_t *vf = vd->vdev_tsd;
 191  190          vdev_buf_t *vb;
 192  191          buf_t *bp;
 193  192  
 194  193          if (zio->io_type == ZIO_TYPE_IOCTL) {
 195  194                  /* XXPOLICY */
 196  195                  if (!vdev_readable(vd)) {
 197  196                          zio->io_error = SET_ERROR(ENXIO);
 198  197                          return (ZIO_PIPELINE_CONTINUE);
↓ open down ↓ 18 lines elided ↑ open up ↑
 217  216  
 218  217          bioinit(bp);
 219  218          bp->b_flags = (zio->io_type == ZIO_TYPE_READ ? B_READ : B_WRITE);
 220  219          bp->b_bcount = zio->io_size;
 221  220          bp->b_un.b_addr = zio->io_data;
 222  221          bp->b_lblkno = lbtodb(zio->io_offset);
 223  222          bp->b_bufsize = zio->io_size;
 224  223          bp->b_private = vf->vf_vnode;
 225  224          bp->b_iodone = (int (*)())vdev_file_io_intr;
 226  225  
 227      -        spa_taskq_dispatch_ent(spa, ZIO_TYPE_FREE, ZIO_TASKQ_ISSUE,
 228      -            vdev_file_io_strategy, bp, 0, &zio->io_tqent);
      226 +        VERIFY3U(taskq_dispatch(system_taskq, vdev_file_io_strategy, bp,
      227 +            TQ_SLEEP), !=, 0);
 229  228  
 230  229          return (ZIO_PIPELINE_STOP);
 231  230  }
 232  231  
 233  232  /* ARGSUSED */
 234  233  static void
 235  234  vdev_file_io_done(zio_t *zio)
 236  235  {
 237  236  }
 238  237  
↓ open down ↓ 32 lines elided ↑ open up ↑
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX