mirror of
https://git.proxmox.com/git/mirror_zfs.git
synced 2025-08-06 15:07:39 +03:00
[zfs-2.2.8] Revert "vdev_disk: default to classic submission for 2.2.x"
This reverts commit eebf00bee9
.
Classic mode is causing assertions on both this branch and master:
VERIFY3(page_count(page) > 0) failed (0 > 0)
PANIC at abd_os.c:1069:bio_map()
Signed-off-by: Tony Hutter <hutter2@llnl.gov>
This commit is contained in:
parent
000236716a
commit
c81e37f15d
@ -1390,30 +1390,17 @@ This parameter only applies on Linux.
|
|||||||
This parameter is ignored if
|
This parameter is ignored if
|
||||||
.Sy zfs_vdev_disk_classic Ns = Ns Sy 1 .
|
.Sy zfs_vdev_disk_classic Ns = Ns Sy 1 .
|
||||||
.
|
.
|
||||||
.It Sy zfs_vdev_disk_classic Ns = Ns 0 Ns | Ns Sy 1 Pq uint
|
.It Sy zfs_vdev_disk_classic Ns = Ns Sy 0 Ns | Ns 1 Pq uint
|
||||||
Controls the method used to submit IO to the Linux block layer
|
If set to 1, OpenZFS will submit IO to Linux using the method it used in 2.2
|
||||||
(default
|
and earlier.
|
||||||
.Sy 1 "classic" Ns
|
This "classic" method has known issues with highly fragmented IO requests and
|
||||||
)
|
is slower on many workloads, but it has been in use for many years and is known
|
||||||
.Pp
|
to be very stable.
|
||||||
If set to 1, the "classic" method is used.
|
If you set this parameter, please also open a bug report why you did so,
|
||||||
This is the method that has been in use since the earliest versions of
|
|
||||||
ZFS-on-Linux.
|
|
||||||
It has known issues with highly fragmented IO requests and is less efficient on
|
|
||||||
many workloads, but it well known and well understood.
|
|
||||||
.Pp
|
|
||||||
If set to 0, the "new" method is used.
|
|
||||||
This method is available since 2.2.4 and should resolve all known issues and be
|
|
||||||
far more efficient, but has not had as much testing.
|
|
||||||
In the 2.2.x series, this parameter defaults to 1, to use the "classic" method.
|
|
||||||
.Pp
|
|
||||||
It is not recommended that you change it except on advice from the OpenZFS
|
|
||||||
developers.
|
|
||||||
If you do change it, please also open a bug report describing why you did so,
|
|
||||||
including the workload involved and any error messages.
|
including the workload involved and any error messages.
|
||||||
.Pp
|
.Pp
|
||||||
This parameter and the "classic" submission method will be removed in a future
|
This parameter and the classic submission method will be removed once we have
|
||||||
release of OpenZFS once we have total confidence in the new method.
|
total confidence in the new method.
|
||||||
.Pp
|
.Pp
|
||||||
This parameter only applies on Linux, and can only be set at module load time.
|
This parameter only applies on Linux, and can only be set at module load time.
|
||||||
.
|
.
|
||||||
|
@ -963,10 +963,8 @@ vdev_disk_io_rw(zio_t *zio)
|
|||||||
/*
|
/*
|
||||||
* This is the classic, battle-tested BIO submission code. Until we're totally
|
* This is the classic, battle-tested BIO submission code. Until we're totally
|
||||||
* sure that the new code is safe and correct in all cases, this will remain
|
* sure that the new code is safe and correct in all cases, this will remain
|
||||||
* available.
|
* available and can be enabled by setting zfs_vdev_disk_classic=1 at module
|
||||||
*
|
* load time.
|
||||||
* It is enabled by setting zfs_vdev_disk_classic=1 at module load time. It is
|
|
||||||
* enabled (=1) by default since 2.2.4, and disabled by default (=0) on master.
|
|
||||||
*
|
*
|
||||||
* These functions have been renamed to vdev_classic_* to make it clear what
|
* These functions have been renamed to vdev_classic_* to make it clear what
|
||||||
* they belong to, but their implementations are unchanged.
|
* they belong to, but their implementations are unchanged.
|
||||||
@ -1516,7 +1514,7 @@ vdev_disk_rele(vdev_t *vd)
|
|||||||
* BIO submission method. See comment above about vdev_classic.
|
* BIO submission method. See comment above about vdev_classic.
|
||||||
* Set zfs_vdev_disk_classic=0 for new, =1 for classic
|
* Set zfs_vdev_disk_classic=0 for new, =1 for classic
|
||||||
*/
|
*/
|
||||||
static uint_t zfs_vdev_disk_classic = 1; /* default classic */
|
static uint_t zfs_vdev_disk_classic = 0; /* default new */
|
||||||
|
|
||||||
/* Set submission function from module parameter */
|
/* Set submission function from module parameter */
|
||||||
static int
|
static int
|
||||||
|
Loading…
Reference in New Issue
Block a user