diskmanage: get_partnum: fix check
Not replacing it with return, because the current behavior is dying:
Can't "next" outside a loop block
and the single existing caller in pve-manager's API2/Ceph/OSD.pm does not check
the return value.
Also check for $st, which can be undefined in case a non-existing path was
provided. This also led to dying previously:
Can't call method "mode" on an undefined value
Signed-off-by: Fabian Ebner <f.ebner@proxmox.com>
This commit is contained in:
committed by
Thomas Lamprecht
parent
415dc3985d
commit
ceb7b1ed09
@ -750,7 +750,9 @@ sub get_partnum {
|
||||
|
||||
my $st = stat($part_path);
|
||||
|
||||
next if !$st->mode || !S_ISBLK($st->mode) || !$st->rdev;
|
||||
die "error detecting block device '$part_path'\n"
|
||||
if !$st || !$st->mode || !S_ISBLK($st->mode) || !$st->rdev;
|
||||
|
||||
my $major = PVE::Tools::dev_t_major($st->rdev);
|
||||
my $minor = PVE::Tools::dev_t_minor($st->rdev);
|
||||
my $partnum_path = "/sys/dev/block/$major:$minor/";
|
||||
|
||||
Reference in New Issue
Block a user