From mboxrd@z Thu Jan 1 00:00:00 1970 From: Fabio M. Di Nitto Date: Wed, 28 Sep 2011 07:31:48 +0200 Subject: [Cluster-devel] [PATCH] fence_scsi: remove unlink of fence_scsi.dev file In-Reply-To: <1317162095-15479-1-git-send-email-rohara@redhat.com> References: <1317162095-15479-1-git-send-email-rohara@redhat.com> Message-ID: <4E82B144.7000608@redhat.com> List-Id: To: cluster-devel.redhat.com MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Oh cool! that was a nice and quick fix for the BZ. ACK for upstream/master/RHEl, but please hold the cherry pick to RHEL till next tuesday. Thanks Fabio On 09/28/2011 12:21 AM, Ryan O'Hara wrote: > This patch removes the call to unlink the fence_scsi.dev file during > unfencing (action=on). Instead of unlinking the file, check to see if > the current device is already in the fence_scsi.dev file before writing > it to the file. Note that since this file exists in /var/run/cluster > directory, it should be removed on reboot. > > Resolves: rhbz#741339 > > Signed-off-by: Ryan O'Hara > --- > fence/agents/scsi/fence_scsi.pl | 14 +++++++++++--- > 1 files changed, 11 insertions(+), 3 deletions(-) > > diff --git a/fence/agents/scsi/fence_scsi.pl b/fence/agents/scsi/fence_scsi.pl > index 93f5056..87a599c 100644 > --- a/fence/agents/scsi/fence_scsi.pl > +++ b/fence/agents/scsi/fence_scsi.pl > @@ -41,7 +41,6 @@ sub do_action_on ($@) > my $self = (caller(0))[3]; > my ($node_key, @devices) = @_; > > - dev_unlink (); > key_write ($node_key); > > foreach $dev (@devices) { > @@ -369,8 +368,17 @@ sub dev_write ($) > mkpath ("/var/run/cluster"); > } > > - open (\*FILE, ">>$file") or die "$!\n"; > - print FILE "$dev\n"; > + open (\*FILE, "+>>$file") or die "$!\n"; > + > + ## since the file is opened for read, write and append, > + ## we need to seek to the beginning of the file before grep. > + > + seek (FILE, 0, 0); > + > + if (! grep { /^$dev$/ } ) { > + print FILE "$dev\n"; > + } > + > close (FILE); > > return;