]> granicus.if.org Git - zfs/commitdiff
Initialize the taskq entry embedded within struct vdev
authorTim Chase <tim@chase2k.com>
Thu, 27 Aug 2015 19:50:39 +0000 (14:50 -0500)
committerBrian Behlendorf <behlendorf1@llnl.gov>
Sun, 30 Aug 2015 17:04:56 +0000 (10:04 -0700)
As part of the stack reduction effort in
50b25b2187134ac7b19cf93bd35a420223f1d343, a zio_t containing a taskq_ent
was added to struct vdev_queue which itself is part of struct vdev.
The taskq entry should be initialized as is currently done in zio_create()
for newly-created bare zio_t object.  The rationale is the same as is
described in f467b05a265abcfb8e5a3269f79d08f36a58646a.

Signed-off-by: Tim Chase <tim@chase2k.com>
Signed-off-by: Brian Behlendorf <behlendorf1@llnl.gov>
Closes #3709

module/zfs/vdev_queue.c

index a0d6fc4e3394cd7a276e275a09cfe002e5adf4dc..fe3dc7ac0ba3f83c46ee148982da8d765666ac29 100644 (file)
@@ -348,6 +348,7 @@ vdev_queue_init(vdev_t *vd)
 
        mutex_init(&vq->vq_lock, NULL, MUTEX_DEFAULT, NULL);
        vq->vq_vdev = vd;
+       taskq_init_ent(&vd->vdev_queue.vq_io_search.io_tqent);
 
        avl_create(&vq->vq_active_tree, vdev_queue_offset_compare,
            sizeof (zio_t), offsetof(struct zio, io_queue_node));