#!/bin/bash
export PATH=/bin:/sbin:/usr/bin:/usr/sbin:$PATH

BIN=$(basename $0)
CRYPT_DEV=$1
DEV=${CRYPT_DEV##*_}
LOG_FILE="/var/log/usb_crypt.log"

OSVER=$(cat /etc/.kyinfo | grep milestone | awk -F= '{print $2}' | tr -d ' ')

function adddate {
    while IFS= read -r line; do
        echo "$(date +"%Y-%m-%d %H:%m:%S"): $line"
    done
}

if [[ $# -ne 1 ]]; then
	echo "Usage: $BIN [<ucrypt_device>]" | adddate >>$LOG_FILE 2>&1
	exit 1
fi
## 卸载前先做一次同步. 防止umount时设备正在使用
sync
 ## 卸载usb加密存储设备
if [[ -d "/media/$CRYPT_DEV" ]]; then
	fuser -k /media/$CRYPT_DEV		## 杀死正在占用文件夹的进程, 防止umount失败
	sync
	if [[ ${OSVER:0:3} == "3.4" || ${OSVER:0:3} == "3.5" ]];then
		systemd-mount -u -G /media/$CRYPT_DEV >>/dev/null 2>&1
	else
		umount -f /dev/mapper/$CRYPT_DEV >>/dev/null 2>&1
	fi
	# remove mount directory
	# rm -rf /media/$CRYPT_DEV 
fi 
## 如果usb加密设备存在, 则移除
if [[ -b "/dev/mapper/$CRYPT_DEV" ]]; then
	dmsetup remove $CRYPT_DEV >>/dev/null 2>&1
	if [[ $? -ne 0 ]]; then
		echo "umount /dev/$DEV failed" | adddate >>$LOG_FILE 2>&1
		exit 4
	fi
fi

echo "umount /dev/$DEV success" | adddate >>$LOG_FILE 2>&1

