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 <f.ebner@proxmox.com>
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 '') {