| .\" |
| .\" CDDL HEADER START |
| .\" |
| .\" The contents of this file are subject to the terms of the |
| .\" Common Development and Distribution License (the "License"). |
| .\" You may not use this file except in compliance with the License. |
| .\" |
| .\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE |
| .\" or http://www.opensolaris.org/os/licensing. |
| .\" See the License for the specific language governing permissions |
| .\" and limitations under the License. |
| .\" |
| .\" When distributing Covered Code, include this CDDL HEADER in each |
| .\" file and include the License file at usr/src/OPENSOLARIS.LICENSE. |
| .\" If applicable, add the following below this CDDL HEADER, with the |
| .\" fields enclosed by brackets "[]" replaced with your own identifying |
| .\" information: Portions Copyright [yyyy] [name of copyright owner] |
| .\" |
| .\" CDDL HEADER END |
| .\" |
| .\" Copyright (c) 2007, Sun Microsystems, Inc. All Rights Reserved. |
| .\" Copyright (c) 2012, 2018 by Delphix. All rights reserved. |
| .\" Copyright (c) 2012 Cyril Plisko. All Rights Reserved. |
| .\" Copyright (c) 2017 Datto Inc. |
| .\" Copyright (c) 2018 George Melikov. All Rights Reserved. |
| .\" Copyright 2017 Nexenta Systems, Inc. |
| .\" Copyright (c) 2017 Open-E, Inc. All Rights Reserved. |
| .\" |
| .Dd May 27, 2021 |
| .Dt ZPOOL-TRIM 8 |
| .Os |
| . |
| .Sh NAME |
| .Nm zpool-trim |
| .Nd initiate TRIM of free space in ZFS storage pool |
| .Sh SYNOPSIS |
| .Nm zpool |
| .Cm trim |
| .Op Fl dw |
| .Op Fl r Ar rate |
| .Op Fl c Ns | Ns Fl s |
| .Ar pool |
| .Oo Ar device Ns Oc Ns … |
| . |
| .Sh DESCRIPTION |
| Initiates an immediate on-demand TRIM operation for all of the free space in |
| a pool. |
| This operation informs the underlying storage devices of all blocks |
| in the pool which are no longer allocated and allows thinly provisioned |
| devices to reclaim the space. |
| .Pp |
| A manual on-demand TRIM operation can be initiated irrespective of the |
| .Sy autotrim |
| pool property setting. |
| See the documentation for the |
| .Sy autotrim |
| property above for the types of vdev devices which can be trimmed. |
| .Bl -tag -width Ds |
| .It Fl d , -secure |
| Causes a secure TRIM to be initiated. |
| When performing a secure TRIM, the |
| device guarantees that data stored on the trimmed blocks has been erased. |
| This requires support from the device and is not supported by all SSDs. |
| .It Fl r , -rate Ar rate |
| Controls the rate at which the TRIM operation progresses. |
| Without this |
| option TRIM is executed as quickly as possible. |
| The rate, expressed in bytes |
| per second, is applied on a per-vdev basis and may be set differently for |
| each leaf vdev. |
| .It Fl c , -cancel |
| Cancel trimming on the specified devices, or all eligible devices if none |
| are specified. |
| If one or more target devices are invalid or are not currently being |
| trimmed, the command will fail and no cancellation will occur on any device. |
| .It Fl s , -suspend |
| Suspend trimming on the specified devices, or all eligible devices if none |
| are specified. |
| If one or more target devices are invalid or are not currently being |
| trimmed, the command will fail and no suspension will occur on any device. |
| Trimming can then be resumed by running |
| .Nm zpool Cm trim |
| with no flags on the relevant target devices. |
| .It Fl w , -wait |
| Wait until the devices are done being trimmed before returning. |
| .El |
| . |
| .Sh SEE ALSO |
| .Xr zpoolprops 7 , |
| .Xr zpool-initialize 8 , |
| .Xr zpool-wait 8 |