Add module parameter to block 0 byte writes

Some hardware has issues when issues a write of 0 bytes
Add a new module paramter, zio_suppress_zero_writes
That when enabled (default) will just complete these I/Os
without sending them to the hardware.

Signed-off-by: Allan Jude <allan@klarasystems.com>
This commit is contained in:
Allan Jude 2023-05-25 16:35:04 +00:00 committed by Geoff Amey
parent 91d6b61268
commit 066532da51
1 changed files with 4 additions and 1 deletions

View File

@ -794,7 +794,10 @@ vdev_disk_io_start(zio_t *zio)
return;
}
if (zio->io_size == 0) {
if (zio->io_size == 0 && (
zio->io_type == ZIO_TYPE_WRITE ||
zio->io_type == ZIO_TYPE_READ ||
zio->io_type == ZIO_TYPE_TRIM)) {
cmn_err(CE_WARN, "KLARA: vdev_disk_io_start() "
"io_type=%d io_size=%d!", zio->io_type, zio->io_size);
if (zio->io_type == ZIO_TYPE_WRITE &&