Add vdev property to disable vdev scheduler

Added vdev property to disable the vdev scheduler.
The intention behind this property is to improve IOPS
performance when using o_direct.

Reviewed-by: Tony Hutter <hutter2@llnl.gov>
Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov>
Reviewed-by: Alexander Motin <alexander.motin@TrueNAS.com>
Signed-off-by: MigeljanImeri <ImeriMigel@gmail.com>
Closes #17358
This commit is contained in:
MigeljanImeri
2026-02-23 12:34:33 -05:00
committed by GitHub
parent d2f5cb3a50
commit 4975430cf5
14 changed files with 206 additions and 2 deletions
+17
View File
@@ -194,6 +194,23 @@ If this device should perform new allocations, used to disable a device
when it is scheduled for later removal.
See
.Xr zpool-remove 8 .
.It Sy scheduler Ns = Ns Sy auto Ns | Ns Sy on Ns | Ns Sy off
Controls how I/O requests are added to the vdev queue when reading or
writing to this vdev.
This property can be set on leaf vdevs.
The value of these properties do not persist across vdev replacement.
.Bl -tag -compact -width "auto"
.It Ar auto
Let ZFS choose which scheduler it thinks will be best.
Currently, the scheduler will queue I/O if the vdev is backed by a rotational
block device or file, and not queue otherwise.
.It Ar on
Always adds I/O requests to the vdev queue.
.It Ar off
Never adds I/O requests to the vdev queue.
This is not recommended for vdevs backed by spinning disks as it could
result in starvation.
.El
.El
.Ss User Properties
In addition to the standard native properties, ZFS supports arbitrary user