#!/bin/bash
### BEGIN INIT INFO
# Provides:            guestfsd
# Required-Start:      udev
# Should-Start:
# Required-Stop:
# Should-Stop:
# Default-Start:       3 4 5
# Default-Stop:
# Short-Description:   guestfsd daemon
### END INIT INFO

. /.initrd/initenv
. /etc/init.d/template

NAME=guestfsd
PIDFILE=/var/run/$NAME.pid
ARGS="--lockfile $LOCKFILE --pidfile $PIDFILE --displayname $NAME"
GUESTFS_EXTRA_ARGS=

show_output() {
	echo "### $*"
	"$@" ||:
	echo
}

start() {
	mkdir -p /sysroot

	if [ -n "${GUESTFS_VERBOSE-}" ] ; then
		show_output date
		show_output uname -a
		show_output cat /proc/uptime
		show_output cat /proc/mounts
		show_output ls -lR /dev
		show_output lvm pvs
		show_output lvm vgs
		show_output lvm lvs
		show_output ip a
		show_output ip r
		show_output cat /etc/resolv.conf
		show_output lsmod
		show_output cat /sys/devices/system/clocksource/clocksource0/current_clocksource
	fi

	[ -z "$GUESTFS_CHANNEL" ] || GUESTFS_EXTRA_ARGS="$GUESTFS_EXTRA_ARGS --channel $GUESTFS_CHANNEL"
	[ -z "$GUESTFS_VERBOSE" ] || GUESTFS_EXTRA_ARGS="$GUESTFS_EXTRA_ARGS --verbose"
	[ -z "$GUESTFS_NETWORK" ] || GUESTFS_EXTRA_ARGS="$GUESTFS_EXTRA_ARGS --network"
	# sleep for wait /dev/virtio-ports/org.libguestfs.channel.0
	sleep 2
	echo "Run $NAME $GUESTFS_EXTRA_ARGS"
	start_daemon $ARGS -- $NAME $GUESTFS_EXTRA_ARGS
	RETVAL=$?
	return $RETVAL
}

stop()
{
	stop_daemon $ARGS -- $NAME
	RETVAL=$?
	return $RETVAL
}

switch "${1-}"
