Index: ocfs2-tools/vendor/common/o2cb.init =================================================================== --- ocfs2-tools.orig/vendor/common/o2cb.init +++ ocfs2-tools/vendor/common/o2cb.init @@ -6,8 +6,8 @@ # ### BEGIN INIT INFO # Provides: o2cb -# Required-Start: $network -# Should-Start: +# Required-Start: $network $syslog $named +# Should-Start: sshd iscsi # Required-Stop: # Default-Start: 2 3 5 # Default-Stop: @@ -130,6 +130,10 @@ O2CB_BOOTCLUSTER=${O2CB_BOOTCLUSTER} # O2CB_RECONNECT_DELAY_MS: Min time in ms between connection attempts O2CB_RECONNECT_DELAY_MS=${O2CB_RECONNECT_DELAY_MS} +# O2CB_HEARTBEAT_MODE: Whether to use the native "kernel" or the "user" +# driven heartbeat (for example, for integration with heartbeat 2.0.x) +O2CB_HEARTBEAT_MODE="${O2CB_HEARTBEAT_MODE:-kernel}" + EOF if [ $? != 0 ] @@ -208,6 +212,34 @@ EOF read_timeout "network reconnect delay in ms" "$O2CB_RECONNECT_DELAY_MS" "$MIN_RECONNECT_DELAY_MS" "$DEF_RECONNECT_DELAY_MS" O2CB_RECONNECT_DELAY_MS="$RET_VAL" + while : + do + if [ "$O2CB_HEARTBEAT_MODE" = "user" ] + then + CUR=y + else + CUR=n + fi + echo -n "Use user-space driven heartbeat? (y/n) [$CUR]: " + read LINE + case "$LINE" in + "") + break + ;; + y|Y) + O2CB_HEARTBEAT_MODE=user + break + ;; + n|N) + O2CB_HEARTBEAT_MODE=kernel + break + ;; + *) + echo "Invalid answer: $LINE" >&2 + ;; + esac + done + # XXX ask about mount point base } @@ -526,6 +558,21 @@ load() eval ${LOAD_ACTIONS[i]} if_fail "$?" done + + if [ "$O2CB_HEARTBEAT_MODE" = "user" ] ; then + echo -n "Switching to user mode heartbeat : " + if modprobe ocfs2_user_heartbeat 2>/dev/null ; then + if echo user > /sys/o2cb/heartbeat_mode ; then + echo "OK" + else + echo "FAILED" + fi + + else + echo "FAILED" + fi + fi + } load_status() Index: ocfs2-tools/debugfs.ocfs2/Makefile =================================================================== --- ocfs2-tools.orig/debugfs.ocfs2/Makefile +++ ocfs2-tools/debugfs.ocfs2/Makefile @@ -12,10 +12,11 @@ INCLUDES = -Iinclude -I$(TOPDIR)/libocfs INCLUDES += $(GLIB_CFLAGS) ifdef OCFS2_DEBUG -CFLAGS = -Wall -O -ggdb +OPTS = -O -ggdb else -CFLAGS = -Wall -O2 +OPTS = -O2 endif +CFLAGS=-Wall $(OPTS) CFILES = main.c commands.c dump.c utils.c journal.c find_block_inode.c find_inode_paths.c dump_fs_locks.c