mirror of
https://git.proxmox.com/git/mirror_zfs.git
synced 2026-05-22 18:40:43 +03:00
Add DDT prune command
Requires the new 'flat' physical data which has the start time for a class entry. The amount to prune can be based on a target percentage of the unique entries or based on the age (i.e., every entry older than N days). Sponsored-by: Klara, Inc. Sponsored-by: iXsystems, Inc. Reviewed-by: Alexander Motin <mav@FreeBSD.org> Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov> Signed-off-by: Don Brady <don.brady@klarasystems.com> Closes #16277
This commit is contained in:
committed by
Brian Behlendorf
parent
4a4f7b019f
commit
d4d79451cb
+14
-1
@@ -1422,7 +1422,7 @@ typedef enum {
|
||||
*/
|
||||
typedef enum zfs_ioc {
|
||||
/*
|
||||
* Core features - 88/128 numbers reserved.
|
||||
* Core features - 89/128 numbers reserved.
|
||||
*/
|
||||
#ifdef __FreeBSD__
|
||||
ZFS_IOC_FIRST = 0,
|
||||
@@ -1519,6 +1519,7 @@ typedef enum zfs_ioc {
|
||||
ZFS_IOC_VDEV_SET_PROPS, /* 0x5a56 */
|
||||
ZFS_IOC_POOL_SCRUB, /* 0x5a57 */
|
||||
ZFS_IOC_POOL_PREFETCH, /* 0x5a58 */
|
||||
ZFS_IOC_DDT_PRUNE, /* 0x5a59 */
|
||||
|
||||
/*
|
||||
* Per-platform (Optional) - 8/128 numbers reserved.
|
||||
@@ -1655,6 +1656,12 @@ typedef enum {
|
||||
ZPOOL_PREFETCH_DDT
|
||||
} zpool_prefetch_type_t;
|
||||
|
||||
typedef enum {
|
||||
ZPOOL_DDT_PRUNE_NONE,
|
||||
ZPOOL_DDT_PRUNE_AGE, /* in seconds */
|
||||
ZPOOL_DDT_PRUNE_PERCENTAGE, /* 1 - 100 */
|
||||
} zpool_ddt_prune_unit_t;
|
||||
|
||||
/*
|
||||
* Bookmark name values.
|
||||
*/
|
||||
@@ -1753,6 +1760,12 @@ typedef enum {
|
||||
*/
|
||||
#define ZPOOL_PREFETCH_TYPE "prefetch_type"
|
||||
|
||||
/*
|
||||
* The following are names used when invoking ZFS_IOC_DDT_PRUNE.
|
||||
*/
|
||||
#define DDT_PRUNE_UNIT "ddt_prune_unit"
|
||||
#define DDT_PRUNE_AMOUNT "ddt_prune_amount"
|
||||
|
||||
/*
|
||||
* Flags for ZFS_IOC_VDEV_SET_STATE
|
||||
*/
|
||||
|
||||
Reference in New Issue
Block a user