#!/bin/sh

read disk_name

set -e

case $disk_name in
    private)
        # force some read to refresh device size
        head /dev/xvdb > /dev/null
        resize2fs /dev/xvdb
        ;;
    root)
        # force some read to refresh device size
        head /dev/xvda > /dev/null
        new_size=$(cat /sys/block/xvda/size)
        ro=$(/sys/block/xvda/ro)
        if [ $ro -eq 1 ]; then
            new_table="0 $new_size snapshot /dev/xvda /dev/xvdc2 N 16"
        else
            new_table="0 $new_size linear /dev/xvda 0"
        fi
        dmsetup load dmroot --table "$new_table"
        dmsetup resume dmroot
        resize2fs /dev/mapper/dmroot
        ;;
    *)
        echo "Automatic resize of '$disk_name' not supported" >&2
        exit 1
        ;;
esac