From e8e477112f578c1c9ecede474fc1424ad3262e04 Mon Sep 17 00:00:00 2001 From: Fiona Ebner Date: Wed, 31 Aug 2022 10:50:54 +0200 Subject: [PATCH] RBD plugin: path: conditionalize get_rbd_dev_path() call The return value of get_rbd_dev_path() is only used when $scfg->{krbd} evaluates to true and the function shouldn't have any side effects that are needed later, so the call can be avoided otherwise. This also saves a RADOS connection and command with configurations for external clusters with krbd disabled. Signed-off-by: Fiona Ebner --- PVE/Storage/RBDPlugin.pm | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/PVE/Storage/RBDPlugin.pm b/PVE/Storage/RBDPlugin.pm index eeeaf3f..d76f930 100644 --- a/PVE/Storage/RBDPlugin.pm +++ b/PVE/Storage/RBDPlugin.pm @@ -417,8 +417,10 @@ sub path { my ($vtype, $name, $vmid) = $class->parse_volname($volname); $name .= '@'.$snapname if $snapname; - my $rbd_dev_path = get_rbd_dev_path($scfg, $storeid, $name); - return ($rbd_dev_path, $vmid, $vtype) if $scfg->{krbd}; + if ($scfg->{krbd}) { + my $rbd_dev_path = get_rbd_dev_path($scfg, $storeid, $name); + return ($rbd_dev_path, $vmid, $vtype); + } my $rbd_path = get_rbd_path($scfg, $name); my $path = "rbd:${rbd_path}";