[developer] Re: [zfs] ZIO_IOCTL_PIPELINE excludes ZIO_STAGE_VDEV_IO_DONE

2017-09-16 Thread George Wilson
Andriy, Assuming this is disk specific, you could look at doing this in the IOCTL callback -- "vdev_disk_ioctl_done". Thanks, George On Fri, Sep 15, 2017 at 11:31 AM Andriy Gapon wrote: > > In FreeBSD we create a struct bio object for each I/O request that goes to > a >

[developer] Re: [zfs] ZIO_IOCTL_PIPELINE excludes ZIO_STAGE_VDEV_IO_DONE

2017-09-15 Thread Andriy Gapon
In FreeBSD we create a struct bio object for each I/O request that goes to a disk. So, we create bio-s for all vdev zio-s that are to be passed down including read, write, ioctl (disk cache flush) zio-s. Previously, we freed those bio-s in a callback from the I/O subsystem. But since the ABD

[developer] Re: [zfs] ZIO_IOCTL_PIPELINE excludes ZIO_STAGE_VDEV_IO_DONE

2017-09-14 Thread George Wilson
Andriy, The ZIO_STAGE_VDEV_IO_DONE is not necessary for ZIO_IOCTL_PIPELINE and that's why it was removed. At least in illumos, there is no functional reason for calling it. To add it back would require a small amount of change which should not be a big deal. Can you provide some context around