]> CyberLeo.Net >> Repos - FreeBSD/stable/9.git/commit
Added ZFS TRIM support which is enabled by default. To disable
authorsmh <smh@ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f>
Wed, 5 Jun 2013 13:03:47 +0000 (13:03 +0000)
committersmh <smh@ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f>
Wed, 5 Jun 2013 13:03:47 +0000 (13:03 +0000)
commitecbb9492636dc9b3d7178a16b65d3b8731360951
tree8a50db43d3d7ee89d6196649abd54992084a4590
parent1edb12173719cae0019133f230e1e58506f1ee41
Added ZFS TRIM support which is enabled by default. To disable
ZFS TRIM support set vfs.zfs.trim.enabled=0 in loader.conf.

Creating new ZFS pools and adding new devices to existing pools
first performs a full device level TRIM which can take a significant
amount of time. The sysctl vfs.zfs.vdev.trim_on_init can be set to 0
to disable this behaviour.

ZFS TRIM requires the underlying device support BIO_DELETE which
is currently provided by methods such as ATA TRIM and SCSI UNMAP
via CAM, which are typically supported by SSD's.

Stats for ZFS TRIM can be monitored by looking at the sysctl's
under kstat.zfs.misc.zio_trim.

MFC r240868: Add TRIM support
MFC r244155: Renamed zfs trim stats
MFC r244187: Upgrade TRIM free request sizes optimisation
MFC r244188: Added vfs.zfs.vdev.trim_on_init sysctl
MFC r248572: Add TRIM support for L2ARC
MFC r248574: Improve TXG handling in the TRIM module
MFC r248575: TRIM cache devices based on time instead of TXGs
MFC r248576: Names the ZFS TRIM thread
MFC r248577: Optimisation of TRIM processing
MFC r248602: Fix for building libzpool under i386
MFC r249921: Enabled ZFS TRIM by default

git-svn-id: svn://svn.freebsd.org/base/stable/9@251419 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f
24 files changed:
UPDATING
cddl/lib/libzpool/Makefile
sys/cddl/compat/opensolaris/kern/opensolaris_kstat.c
sys/cddl/compat/opensolaris/sys/dkio.h
sys/cddl/compat/opensolaris/sys/kstat.h
sys/cddl/compat/opensolaris/sys/time.h
sys/cddl/contrib/opensolaris/uts/common/fs/zfs/arc.c
sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dsl_scan.c
sys/cddl/contrib/opensolaris/uts/common/fs/zfs/spa.c
sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/spa_impl.h
sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/trim_map.h [new file with mode: 0644]
sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/vdev.h
sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/vdev_impl.h
sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/zio.h
sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/zio_impl.h
sys/cddl/contrib/opensolaris/uts/common/fs/zfs/trim_map.c [new file with mode: 0644]
sys/cddl/contrib/opensolaris/uts/common/fs/zfs/vdev.c
sys/cddl/contrib/opensolaris/uts/common/fs/zfs/vdev_geom.c
sys/cddl/contrib/opensolaris/uts/common/fs/zfs/vdev_label.c
sys/cddl/contrib/opensolaris/uts/common/fs/zfs/vdev_mirror.c
sys/cddl/contrib/opensolaris/uts/common/fs/zfs/vdev_raidz.c
sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zil.c
sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zio.c
sys/modules/zfs/Makefile