If a subset of disks associated with a pre-existing ZFS pool are selected for installation, the pool might still be importable (required for the rename) but will be in a `degraded` state. Currently, only pools in `online` state will be considered for renameing, leading a possibly clashing pool named `rpool` behind. Therefore, a reboot after installation will fail because of the duplicate names.
To partially fix this behaviour, also rename `rpool` in `degraded` state. Note: This however does not cover the case when a pool can no longer be imported because the number of required replicas is not available. Renaming by zpool import is not possible for that case. Partially-fixes: 43591049 ("low-level: install: check for already-existing `rpool` on install") Signed-off-by: Christian Ebner <c.eb...@proxmox.com> --- Proxmox/Install.pm | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/Proxmox/Install.pm b/Proxmox/Install.pm index 2f9f28d..d409577 100644 --- a/Proxmox/Install.pm +++ b/Proxmox/Install.pm @@ -177,7 +177,10 @@ sub zfs_ask_existing_zpool_rename { my $exported_pools = Proxmox::Sys::ZFS::get_exported_pools(); foreach (@$exported_pools) { - next if $_->{name} ne $pool_name || $_->{state} ne 'ONLINE'; + # Pool will be in degraded state if a subset of the associated disks have been wiped by the + # installer, but the pool can still be imported (required for the rename). + next if $_->{name} ne $pool_name || + not ($_->{state} eq 'ONLINE' || $_->{state} eq 'DEGRADED'); my $renamed_pool = "$_->{name}-OLD-$_->{id}"; my $do_rename = Proxmox::Install::Config::get_existing_storage_auto_rename(); -- 2.39.5 _______________________________________________ pve-devel mailing list pve-devel@lists.proxmox.com https://lists.proxmox.com/cgi-bin/mailman/listinfo/pve-devel