Added vfs.zfs.vdev.trim_on_init sysctl which allows full vdev trim on
initialisation to be enabled (1) / disabled (0) defaults to enabled. This is useful for devices which have a slow trim speed and are either new or have otherwise already been wiped e.g. secure erase. PR: kern/173116 Submitted by: Steven Hartland Approved by: pjd (mentor)
This commit is contained in:
parent
c440a359ca
commit
5780c4a723
@ -148,6 +148,11 @@
|
||||
#include <sys/trim_map.h>
|
||||
#include <sys/fs/zfs.h>
|
||||
|
||||
static boolean_t vdev_trim_on_init = B_TRUE;
|
||||
SYSCTL_DECL(_vfs_zfs_vdev);
|
||||
SYSCTL_INT(_vfs_zfs_vdev, OID_AUTO, trim_on_init, CTLFLAG_RW,
|
||||
&vdev_trim_on_init, 0, "Enable/disable full vdev trim on initialisation");
|
||||
|
||||
/*
|
||||
* Basic routines to read and write from a vdev label.
|
||||
* Used throughout the rest of this file.
|
||||
@ -724,7 +729,7 @@ vdev_label_init(vdev_t *vd, uint64_t crtxg, vdev_labeltype_t reason)
|
||||
* Don't TRIM if removing so that we don't interfere with zpool
|
||||
* disaster recovery.
|
||||
*/
|
||||
if (!zfs_notrim && (reason == VDEV_LABEL_CREATE ||
|
||||
if (!zfs_notrim && vdev_trim_on_init && (reason == VDEV_LABEL_CREATE ||
|
||||
reason == VDEV_LABEL_SPARE || reason == VDEV_LABEL_L2CACHE))
|
||||
zio_wait(zio_trim(NULL, spa, vd, 0, vd->vdev_psize));
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user