]> CyberLeo.Net >> Repos - FreeBSD/stable/8.git/commit
Added ZFS TRIM support which is enabled by default. To disable
authorsmh <smh@ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f>
Mon, 24 Jun 2013 15:35:42 +0000 (15:35 +0000)
committersmh <smh@ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f>
Mon, 24 Jun 2013 15:35:42 +0000 (15:35 +0000)
commit42fafa0702d5565374f7a9870006805426e23e80
tree4c8d8ecda8917ec1153248aa580ad07a6892ba6f
parent7f65658e8ee52d25bc62962fea65f80596fcf9d5
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 r248573: Don't register repair writes in the trim map.
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/8@252162 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