diff options
author | Alexander Motin <mav@FreeBSD.org> | 2024-04-19 23:18:54 +0000 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-04-19 23:18:54 +0000 |
commit | 9f83eec03904b18e052fbe2c66542bd47254cf57 (patch) | |
tree | fd6dc52e3871f1fca491896800c83d7deec11a9e | |
parent | 26d49fec5f862818a0410fedbba1efded0543374 (diff) | |
download | src-9f83eec03904b18e052fbe2c66542bd47254cf57.tar.gz src-9f83eec03904b18e052fbe2c66542bd47254cf57.zip |
Handle FLUSH errors as "expected"
Before #16061 zio_vdev_io_done() was not used for FLUSH requests.
Addition of it triggers reprobe each TXG for vdevs not supporting
them. Since those errors are often expected, they are normally
handled by individual vdev drivers and should be ignored here.
Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov>
Reviewed-by: Rob Norris <rob.norris@klarasystems.com>
Signed-off-by: Alexander Motin <mav@FreeBSD.org>
Sponsored by: iXsystems, Inc.
Closes #16110
-rw-r--r-- | module/zfs/zio.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/module/zfs/zio.c b/module/zfs/zio.c index 414e3d4e93bd..1ba99f4d4624 100644 --- a/module/zfs/zio.c +++ b/module/zfs/zio.c @@ -4114,7 +4114,8 @@ zio_vdev_io_done(zio_t *zio) if (zio_injection_enabled && zio->io_error == 0) zio->io_error = zio_handle_label_injection(zio, EIO); - if (zio->io_error && zio->io_type != ZIO_TYPE_TRIM) { + if (zio->io_error && zio->io_type != ZIO_TYPE_FLUSH && + zio->io_type != ZIO_TYPE_TRIM) { if (!vdev_accessible(vd, zio)) { zio->io_error = SET_ERROR(ENXIO); } else { |