]> granicus.if.org Git - zfs/commitdiff
OpenZFS 9993 - zil writes can get delayed in zio pipeline
authorGeorge Wilson <george.wilson@delphix.com>
Fri, 2 Nov 2018 23:49:40 +0000 (17:49 -0600)
committerBrian Behlendorf <behlendorf1@llnl.gov>
Fri, 7 Dec 2018 19:05:35 +0000 (11:05 -0800)
Authored by: George Wilson <george.wilson@delphix.com>
Reviewed by: Prakash Surya <prakash.surya@delphix.com>
Reviewed by: Brad Lewis <brad.lewis@delphix.com>
Reviewed by: Matt Ahrens <matt@delphix.com>
Reviewed by: Tom Caputi <tcaputi@datto.com>
Reviewed by: George Melikov <mail@gmelikov.ru>
Approved by: Dan McDonald <danmcd@joyent.com>
Ported-by: Brian Behlendorf <behlendorf1@llnl.gov>
OpenZFS-issue: https://www.illumos.org/issues/9993
OpenZFS-commit: https://github.com/openzfs/openzfs/commit/2258ad0b
Closes #8185

module/zfs/zio.c

index 6f1aa640dadbeb7e2cdd91a7ccc852aebd4c6080..86788b33f3e510d3f66bd0ed74ca546f60c2fe1d 100644 (file)
@@ -1738,7 +1738,8 @@ zio_taskq_dispatch(zio_t *zio, zio_taskq_type_t q, boolean_t cutinline)
         * If this is a high priority I/O, then use the high priority taskq if
         * available.
         */
-       if (zio->io_priority == ZIO_PRIORITY_NOW &&
+       if ((zio->io_priority == ZIO_PRIORITY_NOW ||
+           zio->io_priority == ZIO_PRIORITY_SYNC_WRITE) &&
            spa->spa_zio_taskq[t][q + 1].stqs_count != 0)
                q++;