#!/bin/bash

load_module()
{
    ret=1
    if [ -e "$MODULE" ]
    then
	/sbin/insmod $MODULE
	ret=$?
    fi
	
    if [ "$ret" -ne 0 ]
    then
	echo "$MODULE_NAME not in kernel and not built.  Compiling..."
	mkdir -p $MODULE_DIR
	cp -dpr $SRC_DIR/* $MODULE_DIR
	make -w -C $MODULE_DIR
	if [ "$?" -ne 0 ]
	then
	    echo "Failed to load module $MODULE_NAME."
	    exit $?
	fi

	/sbin/insmod $MODULE
	if [ "$?" -ne 0 ]
	then
	    echo "Failed to load module $MODULE_NAME."
	    exit $?
	fi
    fi
}

prefix=/usr
VAR_DIR=/var/cache/systemtap

RELAYFS=`grep relayfs /proc/filesystems`
if [ -z "$RELAYFS" ]
then
	MODULE_NAME=relayfs
	MODULE_DIR=$VAR_DIR/relayfs
	MODULE=$MODULE_DIR/relayfs.ko
	SRC_DIR=/usr/share/systemtap/runtime/relayfs
	load_module
fi

if [ ! -d "/mnt/relay" ]
then
    mkdir /mnt/relay
fi

MOUNT=`mount | grep relayfs |awk '{print $1}'`
if [ "$MOUNT" != "relayfs" ]
then
	mount -t relayfs relayfs /mnt/relay
fi

