From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 9703 invoked by alias); 29 Sep 2008 14:17:15 -0000 Received: (qmail 9696 invoked by alias); 29 Sep 2008 14:17:14 -0000 X-Spam-Status: No, hits=-0.2 required=5.0 tests=AWL,BAYES_50,KAM_MX,SPF_HELO_PASS X-Spam-Check-By: sourceware.org X-Spam-Checker-Version: SpamAssassin 3.2.4 (2008-01-01) on bastion.fedora.phx.redhat.com X-Spam-Level: Subject: master - scsi_reserve: add restart option To: cluster-cvs-relay@redhat.com X-Project: Cluster Project X-Git-Module: cluster.git X-Git-Refname: refs/heads/master X-Git-Reftype: branch X-Git-Oldrev: 88fb54d63ea2575e950e77d48c522ac4bfd1aad1 X-Git-Newrev: d4c5ec99ee91fdca347682bad0d2c1b8ee8cef80 From: "Ryan O'Hara" Message-Id: <20080929141557.9C3A8120468@lists.fedorahosted.org> Date: Mon, 29 Sep 2008 14:31:00 -0000 X-Scanned-By: MIMEDefang 2.58 on 172.16.52.254 Mailing-List: contact cluster-cvs-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Post: List-Help: , Sender: cluster-cvs-owner@sourceware.org X-SW-Source: 2008-q3/txt/msg00553.txt.bz2 Gitweb: http://git.fedorahosted.org/git/cluster.git?p=cluster.git;a=commitdiff;h=d4c5ec99ee91fdca347682bad0d2c1b8ee8cef80 Commit: d4c5ec99ee91fdca347682bad0d2c1b8ee8cef80 Parent: 88fb54d63ea2575e950e77d48c522ac4bfd1aad1 Author: rohara AuthorDate: Fri Sep 5 16:34:51 2008 -0500 Committer: Ryan O'Hara CommitterDate: Mon Sep 29 09:15:46 2008 -0500 scsi_reserve: add restart option Added restart option to scsi_reserve init script. Using this option will result is re-registering with all devices. It will not remove any existing registrations, since doing so would be dangerous. In short, it is nearly identical to calling the script with the "start" option. (BZ #455330) --- fence/agents/scsi/scsi_reserve | 55 ++++++++++++++++++++++++++++++++++++++++ 1 files changed, 55 insertions(+), 0 deletions(-) diff --git a/fence/agents/scsi/scsi_reserve b/fence/agents/scsi/scsi_reserve index 6aeccc6..86321f4 100644 --- a/fence/agents/scsi/scsi_reserve +++ b/fence/agents/scsi/scsi_reserve @@ -223,6 +223,61 @@ case $1 in ;; # end of stop + restart) + + error=0 + + echo -n "Retarting scsi_reserve:" + + for dev in $scsi_devices + do + # recreate the scsi registration + # + if ! sg_persist -n -d $dev -o -I -S $key &> /dev/null ; then + logger -t scsi_reserve \ + "[error] unable to register device $dev (key=0x$key)" + : $[ count = $count + 1 ] + error=1 + else + logger -t scsi_reserve \ + "[info] registered with device $dev (key=0x$key)" + fi + + # check to see if reservation already exists + # + if sg_persist -n -d $dev -i -r | grep -qiE "^[[:space:]]*Key=0x" ; then + logger -t scsi_reserve \ + "[info] reservation already exists on $dev" + continue + fi + + # recreate the scsi reservation + # + if ! sg_persist -n -d $dev -o -R -K $key -T 5 &> /dev/null ; then + logger -t scsi_reserver \ + "[error] unable to create reservation on $dev (key=0x$key)" + : $[ count = $count + 1 ] + error=1 + fi + done + + # leave fence domain if any errors occured during registration + # + if [ $error -eq 0 ] ; then + success + else + logger -t scsi_reserve \ + "[info] $count errors during registration" + logger -t scsi_reserve \ + "[info] leaving the fence domain" + fence_tool leave + failure + fi + + echo + + ;; # end of restart + status) error=0