From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ryan O'Hara Date: Tue, 18 Jan 2011 14:42:03 -0600 Subject: [Cluster-devel] [PATCH] fence_scsi: identify dm-multipath devices correctly Message-ID: <1295383323-6548-1-git-send-email-rohara@redhat.com> List-Id: To: cluster-devel.redhat.com MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Previously, fence_scsi would only identify /dev/dm* devices as being multipath devices. This prevented the use of "friendly" dm-multipath names (eg. /dev/mapper/mpath1). Since fence_scsi can now be passed devices to operate on, it should be able to handle "friendly" names, too. This patch fixes the problem by getting the absolute path of the device at registration time. Resolves: rhbz#644389 Signed-off-by: Ryan O'Hara --- fence/agents/scsi/fence_scsi.pl | 5 +++++ 1 files changed, 5 insertions(+), 0 deletions(-) diff --git a/fence/agents/scsi/fence_scsi.pl b/fence/agents/scsi/fence_scsi.pl index 9ee8917..8ddde4e 100644 --- a/fence/agents/scsi/fence_scsi.pl +++ b/fence/agents/scsi/fence_scsi.pl @@ -1,5 +1,6 @@ #!/usr/bin/perl +use Cwd 'realpath'; use File::Basename; use Getopt::Std; use POSIX; @@ -112,6 +113,8 @@ sub do_register ($$$) my $self = (caller(0))[3]; my ($host_key, $node_key, $dev) = @_; + $dev = realpath ($dev); + if (substr ($dev, 5) =~ /^dm/) { my @slaves = get_mpath_slaves ($dev); foreach (@slaves) { @@ -139,6 +142,8 @@ sub do_register_ignore ($$) my $self = (caller(0))[3]; my ($node_key, $dev) = @_; + $dev = realpath ($dev); + if (substr ($dev, 5) =~ /^dm/) { my @slaves = get_mpath_slaves ($dev); foreach (@slaves) { -- 1.7.2.3