From b2843044ba17bdd3640931243653baf80a76f1ba Mon Sep 17 00:00:00 2001 From: Fabian Ebner Date: Tue, 26 Jan 2021 12:45:17 +0100 Subject: [PATCH] Disks: return correct journal disk candidates Previously any GPT initialized disk without an osdid (i.e. equal to -1) would be included in the list of journal disk candidates, for example a ZFS disk. But the OSD creation API call will fail for those. To fix it, re-use the condition from the corresponding check in that API call (in PVE/API2/Ceph/OSD.pm). Now, included disks are unused disks, those with usage 'partitions' and GPT, and those with usage 'LVM'. Signed-off-by: Fabian Ebner --- PVE/API2/Disks.pm | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/PVE/API2/Disks.pm b/PVE/API2/Disks.pm index 807e9b2..c0456be 100644 --- a/PVE/API2/Disks.pm +++ b/PVE/API2/Disks.pm @@ -137,7 +137,10 @@ __PACKAGE__->register_method ({ my $entry = $disks->{$disk}; if ($type eq 'journal_disks') { next if $entry->{osdid} >= 0; - next if !($entry->{gpt} || !$entry->{used} || $entry->{used} eq 'LVM'); + if (my $usage = $entry->{used}) { + next if !($usage eq 'partitions' && $entry->{gpt} + || $usage eq 'LVM'); + } } elsif ($type eq 'unused') { next if $entry->{used}; } elsif ($type ne '') { -- 2.39.2