1. Can you play with zfs_free_min_time_ms ? Default value is 1/5 of the txg
sync time (zfs_txg_timeout).
unsigned int zfs_free_min_time_ms = 1000; /* min millisecs to free per
txg */
Also It could be that reading metadata for freeing is slow (due to ARC
constraints or heavy I/O or fragmented pool on HDD) and this also could lead to
side effect then metadata cannot be read effectively enough to be ready within
zfs_txg_timeout seconds and blocks’ freeing is postponed to the next spa-sync.
Look at dsl_scan_async_block_should_pause() for details.
2. Don't you have set checkpoint on the pool ? It can break reclaiming if there
was no enough space, look at spa_suspend_async_destroy() for more details.
3. Don’t you have enabled dedup ? Data blocks can be referenced in this case
and will not be freed.
BTW, Do you see "zpool get freeing $pool” shows 150TB ?
———
Vitaliy Gusev
> On 1 Jun 2020, at 21:34, Schweiss, Chip <[email protected]> wrote:
>
> These are ZFS folders that were destroyed. Snapshots and all.
>
> zfs destroy -r {folder}
>
> It is not instant. This too goes on the delete queue which recycles blocks in
> the background.
>
------------------------------------------
illumos: illumos-discuss
Permalink:
https://illumos.topicbox.com/groups/discuss/T51c43cca03b19c45-Ma07e1e4834f7d0beee8cf45c
Delivery options: https://illumos.topicbox.com/groups/discuss/subscription