Blob Blame History Raw
From 463e5bcc58e7c9d49033d0427bdcbc263cf98165 Mon Sep 17 00:00:00 2001
From: Marek 'marx' Grac <mgrac@redhat.com>
Date: Wed, 16 Dec 2015 13:46:23 +0100
Subject: [PATCH 4/4] fence_scsi: Replace hard reboot with direct call to libc

---
 fence/agents/scsi/fence_scsi.py | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/fence/agents/scsi/fence_scsi.py b/fence/agents/scsi/fence_scsi.py
index c13d4ed..11eab73 100644
--- a/fence/agents/scsi/fence_scsi.py
+++ b/fence/agents/scsi/fence_scsi.py
@@ -8,6 +8,7 @@ import time
 import logging
 import atexit
 import hashlib
+import ctypes
 sys.path.append("@FENCEAGENTSLIBDIR@")
 from fencing import fail_usage, run_command, atexit_handler, check_input, process_input, show_docs, fence_action, all_opt
 from fencing import run_delay
@@ -405,7 +406,8 @@ def scsi_check(hardreboot=False):
 	logging.debug("key " + key + " registered with any devices")
 
 	if hardreboot == True:
-		os.system("reboot -f")
+		libc = ctypes.cdll['libc.so.6']
+		libc.reboot(0x1234567)
 	return 2
 
 
-- 
2.4.3