From ad758fefeb2f00a0c308f3058fe424ed2b9e91c4 Mon Sep 17 00:00:00 2001 From: kazuho Date: Thu, 3 Jun 2010 12:35:03 +0900 Subject: [PATCH] force --logout on mount, to overcome inconsistency --- cosmic | 2 +- lib/App/Cosmic/Client.pm | 11 ++++++++++- 2 files changed, 11 insertions(+), 2 deletions(-) diff --git a/cosmic b/cosmic index 4cd75f4..078ae10 100755 --- a/cosmic +++ b/cosmic @@ -7,7 +7,7 @@ use Pod::Usage; use App::Cosmic::Client; -our $VERSION = '0.01_05'; +our $VERSION = '0.01_06'; pod2usage(1) unless @ARGV; diff --git a/lib/App/Cosmic/Client.pm b/lib/App/Cosmic/Client.pm index 7788450..d9efc7d 100644 --- a/lib/App/Cosmic/Client.pm +++ b/lib/App/Cosmic/Client.pm @@ -331,12 +331,21 @@ sub _mount { for my $node (map { _parse_node($_)->{host} } sort @$nodes) { - # mount iscsi target + # mount iscsi target by doing: + # step 1) sendtargets + # step 2) logout (just in case, don't check errors) + # step 3) login systeml( qw(iscsiadm --mode=discovery --type=sendtargets), "--portal=$node", ) == 0 or die "iscsiadm failed:$?"; + systeml( + qw(iscsiadm --mode=node), + "--portal=$node", + '--target=' . to_iqn($node, $self->global_name), + '--logout', + ); systeml( qw(iscsiadm --mode=node), "--portal=$node",