]> git.proxmox.com Git - mirror_zfs.git/commit
Ignore special vdev ashift for spa ashift min/max
authorDon Brady <don.brady@delphix.com>
Thu, 15 Oct 2020 21:45:16 +0000 (15:45 -0600)
committerGitHub <noreply@github.com>
Thu, 15 Oct 2020 21:45:16 +0000 (14:45 -0700)
commitdff71c793684fcf3a01495f24014797d7faaa88c
treecc4b45df94155db003b370897bd844dbe947e18e
parent15a4ca4620b7a550902cdd998ff7949c354915e7
Ignore special vdev ashift for spa ashift min/max

The removal of a vdev in the normal class would fail if there was a
special or deup vdev that had a different ashift than the vdevs in
the normal class.

Moved the initialization of spa_min_ashift / spa_max_ashift from
vdev_open so that it occurs after the vdev allocation bias was
initialized (i.e. after vdev_load).

Caveat -- In order to remove a special/dedup vdev it must have the
same ashift as the normal pool vdevs.  This could perhaps be lifted
in the future (i.e. for the case where there is ample space in any
surviving special class vdevs)

Reviewed-by: Matthew Ahrens <mahrens@delphix.com>
Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov>
Signed-off-by: Don Brady <don.brady@delphix.com>
Closes #9363
Closes #9364
Closes #11053
module/zfs/vdev.c
module/zfs/vdev_removal.c