HomeFreeBSD

special device removal space accounting fixes

Description

special device removal space accounting fixes

The space in special devices is not included in spa_dspace (or
dsl_pool_adjustedsize(), or the zfs available property). Therefore
there is always at least as much free space in the normal class, as
there is allocated in the special class(es). And therefore, there is
always enough free space to remove a special device.

However, the checks for free space when removing special devices did not
take this into account. This commit corrects that.

Reviewed-by: Ryan Moeller <ryan@iXsystems.com>
Reviewed-by: Don Brady <don.brady@delphix.com>
Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov>
Signed-off-by: Matthew Ahrens <mahrens@delphix.com>
Closes #11329

Details

Provenance
mahrensAuthored on Dec 17 2020, 8:11 PM
GitHub <noreply@github.com>Committed on Dec 17 2020, 8:11 PM
Parents
rG1531506d2323: Avoid extra work updating ARC kstats and tunables
Branches
Unknown
Tags
Unknown