From 553c9b21a7851b5e321f93fd0b1e0d75c538844e Mon Sep 17 00:00:00 2001 From: Thomas Lamprecht Date: Tue, 3 Mar 2020 10:49:11 +0100 Subject: [PATCH] iscis: add iscsi_session helper allows to write some code sligthly nicer Signed-off-by: Thomas Lamprecht --- PVE/Storage/ISCSIPlugin.pm | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/PVE/Storage/ISCSIPlugin.pm b/PVE/Storage/ISCSIPlugin.pm index 2f917f4..546349e 100644 --- a/PVE/Storage/ISCSIPlugin.pm +++ b/PVE/Storage/ISCSIPlugin.pm @@ -350,12 +350,17 @@ sub list_images { return $res; } +sub iscsi_session { + my ($cache, $target) = @_; + $cache->{iscsi_sessions} = iscsi_session_list() if !$cache->{iscsi_sessions}; + return $cache->{iscsi_sessions}->{$target}; +} + sub status { my ($class, $storeid, $scfg, $cache) = @_; - $cache->{iscsi_sessions} = iscsi_session_list() if !$cache->{iscsi_sessions}; - - my $active = defined($cache->{iscsi_sessions}->{$scfg->{target}}) + 0; + my $session = iscsi_session($cache, $scfg->{target}); + my $active = defined($session) ? 1 : 0; return (0, 0, 0, $active); } @@ -365,15 +370,14 @@ sub activate_storage { return if !check_iscsi_support(1); - $cache->{iscsi_sessions} = iscsi_session_list() if !$cache->{iscsi_sessions}; + my $session = iscsi_session($cache, $scfg->{target}); - my $iscsi_sess = $cache->{iscsi_sessions}->{$scfg->{target}}; - if (!defined ($iscsi_sess)) { + if (!defined ($session)) { eval { iscsi_login($scfg->{target}, $scfg->{portal}); }; warn $@ if $@; } else { # make sure we get all devices - iscsi_session_rescan($iscsi_sess); + iscsi_session_rescan($session); } } @@ -382,11 +386,7 @@ sub deactivate_storage { return if !check_iscsi_support(1); - $cache->{iscsi_sessions} = iscsi_session_list() if !$cache->{iscsi_sessions}; - - my $iscsi_sess = $cache->{iscsi_sessions}->{$scfg->{target}}; - - if (defined ($iscsi_sess)) { + if (defined(iscsi_session($cache, $scfg->{target}))) { iscsi_logout($scfg->{target}, $scfg->{portal}); } } -- 2.39.5