#!/bin/bash
# -*- mode: shell-script; indent-tabs-mode: t; sh-basic-offset: 8; sh-indentation: 8; tab-width: 8 -*-

PROG="$(basename ${0})"

interval="${1}"
if [[ -z "${interval}" ]]; then
	printf -- "%s: missing required 'interval' argument\n" "${PROG}" >&2
	exit 1
fi

command -v dmsetup > /dev/null
if [[ ${?} -ne 0 ]]; then
	printf -- "%s: missing required 'dmsetup' command\n" "${PROG}" >&2
	exit 1
fi

kmod="dm_cache"
if ! grep -q ${kmod} /proc/modules; then
	printf -- "%s: %s not loaded\n" "${PROG}" "${kmod}" >&2
	exit 1
fi

rc=0
while [[ ${rc} -eq 0 ]]; do
	echo "timestamp: $(date +%s.%N)"
	dmsetup status --target=cache
	sleep ${interval}
	rc=${?}
done
