#!/bin/bash

function echo_change_to_disk_part()
{
    local name=""
    
    if [ ! -d /sys/block/$1 ] || [ ! -f /usr/bin/ls ] || [ ! -f /usr/bin/grep ] || [ ! -f /usr/bin/awk ]; then
        exit 1
    fi

    if [ $(/usr/bin/ls -l /sys/block/$1/ | /usr/bin/awk -F ' ' '{print $9}' | /usr/bin/grep -c $1) -eq 0 ]; then
        exit 0
    fi

    for name in $(/usr/bin/ls -l /sys/block/$1/ | /usr/bin/grep $1 | /usr/bin/awk -F ' ' '{print $9}'); do
        if [ -f /sys/block/$1/${name}/uevent ]; then
            echo change > /sys/block/$1/${name}/uevent
        fi
    done
}

if [ "$1" == "" ] || [ "$2" == "" ] || [ ! -b /dev/$2 ]; then
    exit 1
fi

if [ "$1" == "ECHOCHANGE" ]; then 
    echo_change_to_disk_part $2
    exit 0
fi