summaryrefslogtreecommitdiff
path: root/app-laptop/hdapsd/files/hdapsd.init
diff options
context:
space:
mode:
Diffstat (limited to 'app-laptop/hdapsd/files/hdapsd.init')
-rwxr-xr-xapp-laptop/hdapsd/files/hdapsd.init49
1 files changed, 49 insertions, 0 deletions
diff --git a/app-laptop/hdapsd/files/hdapsd.init b/app-laptop/hdapsd/files/hdapsd.init
new file mode 100755
index 0000000..a413490
--- /dev/null
+++ b/app-laptop/hdapsd/files/hdapsd.init
@@ -0,0 +1,49 @@
+#!/sbin/runscript
+# Copyright 1999-2006 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License, v2
+
+depend() {
+ need localmount
+}
+
+checkconfig() {
+ if [[ -z ${DISK} || -z ${THRESHOLD} ]] ; then
+ eerror "You should setup DISK and THRESHOLD in /etc/conf.d/hdapsd."
+ return 1
+ fi
+
+ if [[ ! -e /sys/block/${DISK}/queue/protect ]] ; then
+ eerror "No protect entry for ${DISK}!"
+ eerror "Make sure your kernel is patched with the blk_freeze patch"
+ return 1
+ fi
+
+ # Load the tp_smapi module first
+ # This is not a requirement, but it helps hdapsd adaptive mode
+ if [[ ! -e /sys/devices/platorm/smapi ]] ; then
+ modprobe tp_smapi 2>/dev/null
+ fi
+
+ if [[ ! -d /sys/devices/platform/hdaps ]]; then
+ ebegin "Loading hdaps module"
+ modprobe hdaps
+ eend $? || return 1
+ fi
+}
+
+start() {
+ checkconfig || return 1
+
+ ebegin "Starting Hard Drive Active Protection System daemon"
+ start-stop-daemon --start --exec /usr/sbin/hdapsd \
+ --pidfile /var/run/hdapsd.pid \
+ -- -b -p -d "${DISK}" -s "${THRESHOLD}" ${OPTIONS}
+ eend $?
+}
+
+stop() {
+ ebegin "Stopping Hard Drive Active Protection System daemon"
+ start-stop-daemon --stop --exec /usr/sbin/hdapsd \
+ --pidfile /var/run/hdapsd.pid
+ eend $?
+}