From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ryan O'Hara Date: Tue, 15 Mar 2011 14:49:01 -0500 Subject: [Cluster-devel] [PATCH] Allow fence_scsi to use any valid hexadecimal key Message-ID: <1300218541-7064-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 From: Jim Ramsay The check for a non-zero key is using perl's implicit string-to-integer conversion that only works on base 10 digits, which means that any key starting with at least one digit [1-9] will come through as okay, but any key starting with [A-F] will evaluate as 0 and fail the test. An explicit conversion to integer via hex() is the solution. I hit this in a cluster with a cluster ID of 43316 == 0xA934 and scsi fencing configured, where starting the cman service would always fail at the "Unfencing self" step. Signed-off-by: Jim Ramsay Signed-off-by: Ryan O'Hara Resolves: rhbz#653504 --- fence/agents/scsi/fence_scsi.pl | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-) diff --git a/fence/agents/scsi/fence_scsi.pl b/fence/agents/scsi/fence_scsi.pl index 9df5c0c..befb398 100644 --- a/fence/agents/scsi/fence_scsi.pl +++ b/fence/agents/scsi/fence_scsi.pl @@ -787,7 +787,7 @@ else { ## verify that key is not zero ## -if ($key == 0) { +if (hex($key) == 0) { log_error ("key cannot be zero"); } -- 1.7.3.4