Fix zio->io_priority failed (7 < 6) assert
This fixes an assert in vdev_queue_change_io_priority(): VERIFY3(zio->io_priority < ZIO_PRIORITY_NUM_QUEUEABLE) failed (7 < 6) PANIC at vdev_queue.c:832:vdev_queue_change_io_priority() Reviewed-by: Tom Caputi <tcaputi@datto.com> Reviewed-by: George Melikov <mail@gmelikov.ru> Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov> Signed-off-by: Tony Hutter <hutter2@llnl.gov> Closes #7566 Closes #7542
This commit is contained in:
parent
3c28c63642
commit
c26cf0966d
|
@ -829,6 +829,15 @@ vdev_queue_change_io_priority(zio_t *zio, zio_priority_t priority)
|
||||||
vdev_queue_t *vq = &zio->io_vd->vdev_queue;
|
vdev_queue_t *vq = &zio->io_vd->vdev_queue;
|
||||||
avl_tree_t *tree;
|
avl_tree_t *tree;
|
||||||
|
|
||||||
|
/*
|
||||||
|
* ZIO_PRIORITY_NOW is used by the vdev cache code and the aggregate zio
|
||||||
|
* code to issue IOs without adding them to the vdev queue. In this
|
||||||
|
* case, the zio is already going to be issued as quickly as possible
|
||||||
|
* and so it doesn't need any reprioitization to help.
|
||||||
|
*/
|
||||||
|
if (zio->io_priority == ZIO_PRIORITY_NOW)
|
||||||
|
return;
|
||||||
|
|
||||||
ASSERT3U(zio->io_priority, <, ZIO_PRIORITY_NUM_QUEUEABLE);
|
ASSERT3U(zio->io_priority, <, ZIO_PRIORITY_NUM_QUEUEABLE);
|
||||||
ASSERT3U(priority, <, ZIO_PRIORITY_NUM_QUEUEABLE);
|
ASSERT3U(priority, <, ZIO_PRIORITY_NUM_QUEUEABLE);
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue