]> granicus.if.org Git - zfs/commit
Only record zio->io_delay on reads and writes
authorTony Hutter <hutter2@llnl.gov>
Wed, 2 Aug 2017 16:08:38 +0000 (09:08 -0700)
committerBrian Behlendorf <behlendorf1@llnl.gov>
Wed, 2 Aug 2017 16:08:38 +0000 (09:08 -0700)
commit6710381680b0f551c37627e3a5a4886ccf99983f
treeadc1afe373260692d1dc147ec229def4c65f9105
parentaf0f842883ceb7e88b8f4d1fe6ad80b6ad951827
Only record zio->io_delay on reads and writes

While investigating https://github.com/zfsonlinux/zfs/issues/6425 I
noticed that ioctl ZIOs were not setting zio->io_delay correctly.  They
would set the start time in zio_vdev_io_start(), but never set the end
time in zio_vdev_io_done(), since ioctls skip it and go straight to
zio_done().  This was causing spurious "delayed IO" events to appear,
which would eventually get rate-limited and displayed as
"Missed events" messages in zed.

To get around the problem, this patch only sets zio->io_delay for read
and write ZIOs, since that's all we care about anyway.

Reviewed-by: Giuseppe Di Natale <dinatale2@llnl.gov>
Reviewed-by: George Melikov <mail@gmelikov.ru>
Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov>
Signed-off-by: Tony Hutter <hutter2@llnl.gov>
Closes #6425
Closes #6440
module/zfs/zio.c