#!/bin/bash
SYSBLK=/sys/block
DEV=$1

if [ ! -L $SYSBLK/$DEV/bcache ]; then
	echo "No bcache data link found!"
	exit 1
fi

if [ "$(cat /proc/mounts|grep $DEV)" != "" ]; then
	echo "$DEV still mounted. Trying umount..."
	if ! umount /dev/$DEV; then
		echo "Failed to umount!"
		exit 1
	fi
fi

CSET="$(basename $(readlink $SYSBLK/$DEV/bcache/cache))"
BDEV="$(basename $(dirname $(readlink $SYSBLK/$DEV/bcache)))"
CDEV="$(basename $(dirname $(readlink $SYSBLK/$DEV/bcache/cache/cache*)))"

echo $CSET
echo BDEV=$BDEV
echo CDEV=$CDEV

echo 1 >$SYSBLK/$DEV/bcache/stop
echo 1 >/sys/fs/bcache/$CSET/unregister

